My Project  UNKNOWN_GIT_VERSION
TestTracker.h
Go to the documentation of this file.
1 #ifndef __cxxtest__TestTracker_h__
2 #define __cxxtest__TestTracker_h__
3 
4 //
5 // The TestTracker tracks running tests
6 // The actual work is done in CountingListenerProxy,
7 // but this way avoids cyclic references TestListener<->CountingListenerProxy
8 //
9 
10 #include <cxxtest/TestListener.h>
12 
13 namespace CxxTest
14 {
15  class TestListener;
16 
17  class TestTracker : public TestListener
18  {
19  public:
20  virtual ~TestTracker();
21 
22  static TestTracker &tracker();
23 
24  const TestDescription *fixTest( const TestDescription *d ) const;
25  const SuiteDescription *fixSuite( const SuiteDescription *d ) const;
26  const WorldDescription *fixWorld( const WorldDescription *d ) const;
27 
28  const TestDescription &test() const { return *_test; }
29  const SuiteDescription &suite() const { return *_suite; }
30  const WorldDescription &world() const { return *_world; }
31 
32  bool testFailed() const { return (testFailedAsserts() > 0); }
33  bool suiteFailed() const { return (suiteFailedTests() > 0); }
34  bool worldFailed() const { return (failedSuites() > 0); }
35 
36  unsigned warnings() const { return _warnings; }
37  unsigned failedTests() const { return _failedTests; }
38  unsigned testFailedAsserts() const { return _testFailedAsserts; }
39  unsigned suiteFailedTests() const { return _suiteFailedTests; }
40  unsigned failedSuites() const { return _failedSuites; }
41 
42  void enterWorld( const WorldDescription &wd );
43  void enterSuite( const SuiteDescription &sd );
44  void enterTest( const TestDescription &td );
45  void leaveTest( const TestDescription &td );
46  void leaveSuite( const SuiteDescription &sd );
47  void leaveWorld( const WorldDescription &wd );
48  void trace( const char *file, unsigned line, const char *expression );
49  void warning( const char *file, unsigned line, const char *expression );
50  void failedTest( const char *file, unsigned line, const char *expression );
51  void failedAssert( const char *file, unsigned line, const char *expression );
52  void failedAssertEquals( const char *file, unsigned line,
53  const char *xStr, const char *yStr,
54  const char *x, const char *y );
55  void failedAssertSameData( const char *file, unsigned line,
56  const char *xStr, const char *yStr,
57  const char *sizeStr, const void *x,
58  const void *y, unsigned size );
59  void failedAssertDelta( const char *file, unsigned line,
60  const char *xStr, const char *yStr, const char *dStr,
61  const char *x, const char *y, const char *d );
62  void failedAssertDiffers( const char *file, unsigned line,
63  const char *xStr, const char *yStr,
64  const char *value );
65  void failedAssertLessThan( const char *file, unsigned line,
66  const char *xStr, const char *yStr,
67  const char *x, const char *y );
68  void failedAssertLessThanEquals( const char *file, unsigned line,
69  const char *xStr, const char *yStr,
70  const char *x, const char *y );
71  void failedAssertPredicate( const char *file, unsigned line,
72  const char *predicate, const char *xStr, const char *x );
73  void failedAssertRelation( const char *file, unsigned line,
74  const char *relation, const char *xStr, const char *yStr,
75  const char *x, const char *y );
76  void failedAssertThrows( const char *file, unsigned line,
77  const char *expression, const char *type,
78  bool otherThrown );
79  void failedAssertThrowsNot( const char *file, unsigned line, const char *expression );
80 
81  private:
84 
85  static bool _created;
93 
94  const TestDescription &dummyTest() const;
95  const SuiteDescription &dummySuite() const;
96  const WorldDescription &dummyWorld() const;
97 
98  void setWorld( const WorldDescription *w );
99  void setSuite( const SuiteDescription *s );
100  void setTest( const TestDescription *t );
101  void countWarning();
102  void countFailure();
103 
104  friend class TestRunner;
105 
106  TestTracker();
107  void initialize();
108  void setListener( TestListener *l );
109  };
110 
111  inline TestTracker &tracker() { return TestTracker::tracker(); }
112 };
113 
114 #endif // __cxxtest__TestTracker_h__
CxxTest::TestTracker::operator=
TestTracker & operator=(const TestTracker &)
TestListener.h
CxxTest::TestTracker::leaveSuite
void leaveSuite(const SuiteDescription &sd)
Definition: TestTracker.cpp:103
CxxTest::TestTracker::_created
static bool _created
Definition: TestTracker.h:85
CxxTest::TestTracker::failedSuites
unsigned failedSuites() const
Definition: TestTracker.h:40
CxxTest::TestTracker::testFailed
bool testFailed() const
Definition: TestTracker.h:32
x
Variable x
Definition: cfModGcd.cc:4023
y
const CanonicalForm int const CFList const Variable & y
Definition: facAbsFact.cc:57
CxxTest::TestTracker::suiteFailedTests
unsigned suiteFailedTests() const
Definition: TestTracker.h:39
CxxTest::TestTracker::setSuite
void setSuite(const SuiteDescription *s)
Definition: TestTracker.cpp:222
CxxTest::TestTracker::trace
void trace(const char *file, unsigned line, const char *expression)
Definition: TestTracker.cpp:115
CxxTest::TestTracker::_warnings
unsigned _warnings
Definition: TestTracker.h:88
CxxTest::TestTracker::_failedSuites
unsigned _failedSuites
Definition: TestTracker.h:88
CxxTest::TestTracker::failedAssertDiffers
void failedAssertDiffers(const char *file, unsigned line, const char *xStr, const char *yStr, const char *value)
Definition: TestTracker.cpp:163
CxxTest::TestTracker::leaveTest
void leaveTest(const TestDescription &td)
Definition: TestTracker.cpp:97
CxxTest::TestTracker::failedAssertLessThan
void failedAssertLessThan(const char *file, unsigned line, const char *xStr, const char *yStr, const char *x, const char *y)
Definition: TestTracker.cpp:171
CxxTest::TestTracker::_world
const WorldDescription * _world
Definition: TestTracker.h:90
CxxTest::TestTracker::warning
void warning(const char *file, unsigned line, const char *expression)
Definition: TestTracker.cpp:120
CxxTest::TestTracker::fixTest
const TestDescription * fixTest(const TestDescription *d) const
Definition: TestTracker.cpp:41
CxxTest::TestTracker::setTest
void setTest(const TestDescription *t)
Definition: TestTracker.cpp:228
CxxTest::TestTracker::world
const WorldDescription & world() const
Definition: TestTracker.h:30
CxxTest::TestTracker::_suite
const SuiteDescription * _suite
Definition: TestTracker.h:91
CxxTest::TestTracker::test
const TestDescription & test() const
Definition: TestTracker.h:28
CxxTest::TestTracker::failedTests
unsigned failedTests() const
Definition: TestTracker.h:37
CxxTest::TestTracker::failedAssert
void failedAssert(const char *file, unsigned line, const char *expression)
Definition: TestTracker.cpp:132
w
const CanonicalForm & w
Definition: facAbsFact.cc:55
CxxTest::TestTracker::failedAssertThrows
void failedAssertThrows(const char *file, unsigned line, const char *expression, const char *type, bool otherThrown)
Definition: TestTracker.cpp:202
CxxTest::TestTracker::_test
const TestDescription * _test
Definition: TestTracker.h:92
CxxTest::SuiteDescription
Definition: Descriptions.h:32
DummyDescriptions.h
CxxTest::TestTracker::enterTest
void enterTest(const TestDescription &td)
Definition: TestTracker.cpp:90
CxxTest::TestTracker::~TestTracker
virtual ~TestTracker()
Definition: TestTracker.cpp:18
CxxTest::s
char * s
Definition: ValueTraits.h:143
CxxTest::TestTracker::dummyWorld
const WorldDescription & dummyWorld() const
Definition: TestTracker.cpp:66
CxxTest::TestTracker::failedAssertRelation
void failedAssertRelation(const char *file, unsigned line, const char *relation, const char *xStr, const char *yStr, const char *x, const char *y)
Definition: TestTracker.cpp:194
CxxTest::TestTracker::enterWorld
void enterWorld(const WorldDescription &wd)
Definition: TestTracker.cpp:76
CxxTest::TestTracker::_testFailedAsserts
unsigned _testFailedAsserts
Definition: TestTracker.h:88
CxxTest::TestTracker::countFailure
void countFailure()
Definition: TestTracker.cpp:238
CxxTest::TestTracker::tracker
static TestTracker & tracker()
Definition: TestTracker.cpp:22
CxxTest::TestListener
Definition: TestListener.h:18
CxxTest::TestTracker::TestTracker
TestTracker(const TestTracker &)
CxxTest::TestTracker::testFailedAsserts
unsigned testFailedAsserts() const
Definition: TestTracker.h:38
CxxTest::TestTracker::setWorld
void setWorld(const WorldDescription *w)
Definition: TestTracker.cpp:216
size
int size(const CanonicalForm &f, const Variable &v)
int size ( const CanonicalForm & f, const Variable & v )
Definition: cf_ops.cc:600
CxxTest::TestTracker::_suiteFailedTests
unsigned _suiteFailedTests
Definition: TestTracker.h:88
CxxTest::TestTracker::failedAssertLessThanEquals
void failedAssertLessThanEquals(const char *file, unsigned line, const char *xStr, const char *yStr, const char *x, const char *y)
Definition: TestTracker.cpp:179
CxxTest::TestTracker::leaveWorld
void leaveWorld(const WorldDescription &wd)
Definition: TestTracker.cpp:109
CxxTest::TestDescription
Definition: Descriptions.h:16
CxxTest::TestTracker::_failedTests
unsigned _failedTests
Definition: TestTracker.h:88
CxxTest::TestTracker
Definition: TestTracker.h:18
CxxTest::TestTracker::initialize
void initialize()
Definition: TestTracker.cpp:28
CxxTest::TestTracker::suite
const SuiteDescription & suite() const
Definition: TestTracker.h:29
CxxTest::TestTracker::suiteFailed
bool suiteFailed() const
Definition: TestTracker.h:33
CxxTest::TestTracker::dummyTest
const TestDescription & dummyTest() const
Definition: TestTracker.cpp:56
CxxTest::TestTracker::enterSuite
void enterSuite(const SuiteDescription &sd)
Definition: TestTracker.cpp:83
CxxTest::WorldDescription
Definition: Descriptions.h:54
CxxTest::TestTracker::failedAssertSameData
void failedAssertSameData(const char *file, unsigned line, const char *xStr, const char *yStr, const char *sizeStr, const void *x, const void *y, unsigned size)
Definition: TestTracker.cpp:146
CxxTest::DummyWorldDescription
Definition: DummyDescriptions.h:55
CxxTest::TestRunner
Definition: TestRunner.h:18
CxxTest::TestTracker::worldFailed
bool worldFailed() const
Definition: TestTracker.h:34
CxxTest::TestTracker::failedAssertDelta
void failedAssertDelta(const char *file, unsigned line, const char *xStr, const char *yStr, const char *dStr, const char *x, const char *y, const char *d)
Definition: TestTracker.cpp:155
CxxTest::TestTracker::TestTracker
TestTracker()
Definition: TestTracker.cpp:10
CxxTest::TestTracker::_l
TestListener * _l
Definition: TestTracker.h:89
CxxTest::TestTracker::fixWorld
const WorldDescription * fixWorld(const WorldDescription *d) const
Definition: TestTracker.cpp:51
CxxTest::TestTracker::_dummyWorld
DummyWorldDescription _dummyWorld
Definition: TestTracker.h:87
l
int l
Definition: cfEzgcd.cc:93
CxxTest::TestTracker::countWarning
void countWarning()
Definition: TestTracker.cpp:233
CxxTest::TestTracker::setListener
void setListener(TestListener *l)
Definition: TestTracker.cpp:71
CxxTest::TestTracker::fixSuite
const SuiteDescription * fixSuite(const SuiteDescription *d) const
Definition: TestTracker.cpp:46
CxxTest::TestTracker::failedAssertThrowsNot
void failedAssertThrowsNot(const char *file, unsigned line, const char *expression)
Definition: TestTracker.cpp:210
CxxTest
Definition: Descriptions.cpp:7
CxxTest::TestTracker::dummySuite
const SuiteDescription & dummySuite() const
Definition: TestTracker.cpp:61
CxxTest::TestTracker::failedTest
void failedTest(const char *file, unsigned line, const char *expression)
Definition: TestTracker.cpp:126
CxxTest::TestTracker::failedAssertEquals
void failedAssertEquals(const char *file, unsigned line, const char *xStr, const char *yStr, const char *x, const char *y)
Definition: TestTracker.cpp:138
CxxTest::tracker
TestTracker & tracker()
Definition: TestTracker.h:111
CxxTest::TestTracker::failedAssertPredicate
void failedAssertPredicate(const char *file, unsigned line, const char *predicate, const char *xStr, const char *x)
Definition: TestTracker.cpp:187
CxxTest::TestTracker::warnings
unsigned warnings() const
Definition: TestTracker.h:36
CxxTest::TestTracker::_dummyListener
TestListener _dummyListener
Definition: TestTracker.h:86