mirror of https://github.com/catchorg/Catch2.git
Added Totals class and started using it
This commit is contained in:
parent
2cc9b0dba1
commit
5ddf794fbc
|
@ -18,6 +18,7 @@
|
||||||
#include "catch_test_registry.hpp"
|
#include "catch_test_registry.hpp"
|
||||||
#include "catch_test_case_info.hpp"
|
#include "catch_test_case_info.hpp"
|
||||||
#include "catch_capture.hpp"
|
#include "catch_capture.hpp"
|
||||||
|
#include "catch_totals.hpp"
|
||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -303,8 +304,6 @@ namespace Catch
|
||||||
)
|
)
|
||||||
: m_runningTest( NULL ),
|
: m_runningTest( NULL ),
|
||||||
m_config( config ),
|
m_config( config ),
|
||||||
m_successes( 0 ),
|
|
||||||
m_failures( 0 ),
|
|
||||||
m_reporter( m_config.getReporter() ),
|
m_reporter( m_config.getReporter() ),
|
||||||
m_prevRunner( &Hub::getRunner() ),
|
m_prevRunner( &Hub::getRunner() ),
|
||||||
m_prevResultCapture( &Hub::getResultCapture() )
|
m_prevResultCapture( &Hub::getResultCapture() )
|
||||||
|
@ -318,7 +317,7 @@ namespace Catch
|
||||||
~Runner
|
~Runner
|
||||||
()
|
()
|
||||||
{
|
{
|
||||||
m_reporter->EndTesting( m_successes, m_failures );
|
m_reporter->EndTesting( m_totals.assertions.passed, m_totals.assertions.failed );
|
||||||
Hub::setRunner( m_prevRunner );
|
Hub::setRunner( m_prevRunner );
|
||||||
Hub::setResultCapture( m_prevResultCapture );
|
Hub::setResultCapture( m_prevResultCapture );
|
||||||
}
|
}
|
||||||
|
@ -364,8 +363,7 @@ namespace Catch
|
||||||
const TestCaseInfo& testInfo
|
const TestCaseInfo& testInfo
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
std::size_t prevSuccessCount = m_successes;
|
Totals prevTotals = m_totals;
|
||||||
std::size_t prevFailureCount = m_failures;
|
|
||||||
|
|
||||||
std::string redirectedCout;
|
std::string redirectedCout;
|
||||||
std::string redirectedCerr;
|
std::string redirectedCerr;
|
||||||
|
@ -389,7 +387,7 @@ namespace Catch
|
||||||
delete m_runningTest;
|
delete m_runningTest;
|
||||||
m_runningTest = NULL;
|
m_runningTest = NULL;
|
||||||
|
|
||||||
m_reporter->EndTestCase( testInfo, m_successes - prevSuccessCount, m_failures - prevFailureCount, redirectedCout, redirectedCerr );
|
m_reporter->EndTestCase( testInfo, m_totals.assertions.passed - prevTotals.assertions.passed, m_totals.assertions.failed - prevTotals.assertions.failed, redirectedCout, redirectedCerr );
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -397,7 +395,7 @@ namespace Catch
|
||||||
()
|
()
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
return m_successes;
|
return m_totals.assertions.passed;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -405,7 +403,7 @@ namespace Catch
|
||||||
()
|
()
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
return m_failures;
|
return m_totals.assertions.failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
private: // IResultCapture
|
private: // IResultCapture
|
||||||
|
@ -456,11 +454,11 @@ namespace Catch
|
||||||
{
|
{
|
||||||
if( result.getResultType() == ResultWas::Ok )
|
if( result.getResultType() == ResultWas::Ok )
|
||||||
{
|
{
|
||||||
m_successes++;
|
m_totals.assertions.passed++;
|
||||||
}
|
}
|
||||||
else if( !result.ok() )
|
else if( !result.ok() )
|
||||||
{
|
{
|
||||||
m_failures++;
|
m_totals.assertions.failed++;
|
||||||
|
|
||||||
std::vector<ResultInfo>::const_iterator it = m_info.begin();
|
std::vector<ResultInfo>::const_iterator it = m_info.begin();
|
||||||
std::vector<ResultInfo>::const_iterator itEnd = m_info.end();
|
std::vector<ResultInfo>::const_iterator itEnd = m_info.end();
|
||||||
|
@ -494,8 +492,8 @@ namespace Catch
|
||||||
|
|
||||||
m_currentResult.setFileAndLine( filename, line );
|
m_currentResult.setFileAndLine( filename, line );
|
||||||
m_reporter->StartSection( name, description );
|
m_reporter->StartSection( name, description );
|
||||||
successes = m_successes;
|
successes = m_totals.assertions.passed;
|
||||||
failures = m_failures;
|
failures = m_totals.assertions.failed;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -509,7 +507,7 @@ namespace Catch
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
m_runningTest->endSection( name );
|
m_runningTest->endSection( name );
|
||||||
m_reporter->EndSection( name, m_successes - prevSuccesses, m_failures - prevFailures );
|
m_reporter->EndSection( name, m_totals.assertions.passed - prevSuccesses, m_totals.assertions.failed - prevFailures );
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -615,8 +613,7 @@ namespace Catch
|
||||||
ResultInfo m_lastResult;
|
ResultInfo m_lastResult;
|
||||||
|
|
||||||
const Config& m_config;
|
const Config& m_config;
|
||||||
std::size_t m_successes;
|
Totals m_totals;
|
||||||
std::size_t m_failures;
|
|
||||||
IReporter* m_reporter;
|
IReporter* m_reporter;
|
||||||
std::vector<ScopedInfo*> m_scopedInfos;
|
std::vector<ScopedInfo*> m_scopedInfos;
|
||||||
std::vector<ResultInfo> m_info;
|
std::vector<ResultInfo> m_info;
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
//
|
||||||
|
// catch_totals.hpp
|
||||||
|
// Catch
|
||||||
|
//
|
||||||
|
// Created by Phil Nash on 23/02/2012.
|
||||||
|
// Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved.
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef TWOBLUECUBES_CATCH_TOTALS_HPP_INCLUDED
|
||||||
|
#define TWOBLUECUBES_CATCH_TOTALS_HPP_INCLUDED
|
||||||
|
|
||||||
|
namespace Catch
|
||||||
|
{
|
||||||
|
struct Counts
|
||||||
|
{
|
||||||
|
Counts
|
||||||
|
()
|
||||||
|
: passed( 0 ),
|
||||||
|
failed( 0 )
|
||||||
|
{}
|
||||||
|
|
||||||
|
std::size_t passed;
|
||||||
|
std::size_t failed;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Totals
|
||||||
|
{
|
||||||
|
Counts assertions;
|
||||||
|
Counts testCases;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // TWOBLUECUBES_CATCH_TOTALS_HPP_INCLUDED
|
|
@ -83,6 +83,7 @@
|
||||||
4A6D0C66149B3E3D00DB3EAA /* catch_reporter_basic.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_reporter_basic.hpp; sourceTree = "<group>"; };
|
4A6D0C66149B3E3D00DB3EAA /* catch_reporter_basic.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_reporter_basic.hpp; sourceTree = "<group>"; };
|
||||||
4A6D0C67149B3E3D00DB3EAA /* catch_reporter_junit.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_reporter_junit.hpp; sourceTree = "<group>"; };
|
4A6D0C67149B3E3D00DB3EAA /* catch_reporter_junit.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_reporter_junit.hpp; sourceTree = "<group>"; };
|
||||||
4A6D0C68149B3E3D00DB3EAA /* catch_reporter_xml.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_reporter_xml.hpp; sourceTree = "<group>"; };
|
4A6D0C68149B3E3D00DB3EAA /* catch_reporter_xml.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_reporter_xml.hpp; sourceTree = "<group>"; };
|
||||||
|
4A7ADB4314F631E10094FE10 /* catch_totals.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_totals.hpp; sourceTree = "<group>"; };
|
||||||
4AE1840A14EE4F230066340D /* catch_self_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = catch_self_test.cpp; path = ../../../SelfTest/catch_self_test.cpp; sourceTree = "<group>"; };
|
4AE1840A14EE4F230066340D /* catch_self_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = catch_self_test.cpp; path = ../../../SelfTest/catch_self_test.cpp; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
@ -187,6 +188,7 @@
|
||||||
4A6D0C62149B3E3D00DB3EAA /* catch_test_case_registry_impl.hpp */,
|
4A6D0C62149B3E3D00DB3EAA /* catch_test_case_registry_impl.hpp */,
|
||||||
4A6D0C63149B3E3D00DB3EAA /* catch_test_registry.hpp */,
|
4A6D0C63149B3E3D00DB3EAA /* catch_test_registry.hpp */,
|
||||||
4A6D0C64149B3E3D00DB3EAA /* catch_xmlwriter.hpp */,
|
4A6D0C64149B3E3D00DB3EAA /* catch_xmlwriter.hpp */,
|
||||||
|
4A7ADB4314F631E10094FE10 /* catch_totals.hpp */,
|
||||||
);
|
);
|
||||||
name = internal;
|
name = internal;
|
||||||
path = ../../../../include/internal;
|
path = ../../../../include/internal;
|
||||||
|
|
Loading…
Reference in New Issue