~ubuntu-branches/ubuntu/vivid/psi/vivid

« back to all changes in this revision

Viewing changes to third-party/cppunit/cppunit/src/cppunit/TestResultCollector.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jan Niehusmann
  • Date: 2008-08-28 18:46:52 UTC
  • mfrom: (1.2.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20080828184652-iiik12dl91nq7cdi
Tags: 0.12-2
Uploading to unstable (Closes: Bug#494352)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <cppunit/TestFailure.h>
 
2
#include <cppunit/TestResultCollector.h>
 
3
 
 
4
 
 
5
CPPUNIT_NS_BEGIN
 
6
 
 
7
 
 
8
TestResultCollector::TestResultCollector( SynchronizationObject *syncObject )
 
9
    : TestSuccessListener( syncObject )
 
10
{
 
11
  reset();
 
12
}
 
13
 
 
14
 
 
15
TestResultCollector::~TestResultCollector()
 
16
{
 
17
  freeFailures();
 
18
}
 
19
 
 
20
 
 
21
void 
 
22
TestResultCollector::freeFailures()
 
23
{
 
24
  TestFailures::iterator itFailure = m_failures.begin();
 
25
  while ( itFailure != m_failures.end() )
 
26
    delete *itFailure++;
 
27
  m_failures.clear();
 
28
}
 
29
 
 
30
 
 
31
void 
 
32
TestResultCollector::reset()
 
33
{
 
34
  TestSuccessListener::reset();
 
35
 
 
36
  ExclusiveZone zone( m_syncObject ); 
 
37
  freeFailures();
 
38
  m_testErrors = 0;
 
39
  m_tests.clear();
 
40
}
 
41
 
 
42
 
 
43
void 
 
44
TestResultCollector::startTest( Test *test )
 
45
{
 
46
  ExclusiveZone zone (m_syncObject); 
 
47
  m_tests.push_back( test );
 
48
}
 
49
 
 
50
 
 
51
void 
 
52
TestResultCollector::addFailure( const TestFailure &failure )
 
53
{
 
54
  TestSuccessListener::addFailure( failure );
 
55
 
 
56
  ExclusiveZone zone( m_syncObject ); 
 
57
  if ( failure.isError() )
 
58
    ++m_testErrors;
 
59
  m_failures.push_back( failure.clone() );
 
60
}
 
61
 
 
62
 
 
63
/// Gets the number of run tests.
 
64
int 
 
65
TestResultCollector::runTests() const
 
66
 
67
  ExclusiveZone zone( m_syncObject ); 
 
68
  return m_tests.size(); 
 
69
}
 
70
 
 
71
 
 
72
/// Gets the number of detected errors (uncaught exception).
 
73
int 
 
74
TestResultCollector::testErrors() const
 
75
 
76
  ExclusiveZone zone( m_syncObject );
 
77
  return m_testErrors;
 
78
}
 
79
 
 
80
 
 
81
/// Gets the number of detected failures (failed assertion).
 
82
int 
 
83
TestResultCollector::testFailures() const
 
84
 
85
  ExclusiveZone zone( m_syncObject ); 
 
86
  return m_failures.size() - m_testErrors;
 
87
}
 
88
 
 
89
 
 
90
/// Gets the total number of detected failures.
 
91
int 
 
92
TestResultCollector::testFailuresTotal() const
 
93
{
 
94
  ExclusiveZone zone( m_syncObject ); 
 
95
  return m_failures.size();
 
96
}
 
97
 
 
98
 
 
99
/// Returns a the list failures (random access collection).
 
100
const TestResultCollector::TestFailures & 
 
101
TestResultCollector::failures() const
 
102
 
103
  ExclusiveZone zone( m_syncObject );
 
104
  return m_failures; 
 
105
}
 
106
 
 
107
 
 
108
const TestResultCollector::Tests &
 
109
TestResultCollector::tests() const
 
110
{
 
111
  ExclusiveZone zone( m_syncObject );
 
112
  return m_tests;
 
113
}
 
114
 
 
115
 
 
116
CPPUNIT_NS_END
 
117