mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-16 18:52:25 +01:00
Report generator states for failed assertions
This commit is contained in:
parent
dc001fa935
commit
4c0a291770
@ -29,7 +29,7 @@ TEST_CASE("Generate random doubles across different ranges",
|
||||
// This will take r1 by reference and r2 by value.
|
||||
// Note that there are no advantages for doing so in this example,
|
||||
// it is done only for expository purposes.
|
||||
auto number = Catch::Generators::generate( "custom capture generator", CATCH_INTERNAL_LINEINFO,
|
||||
auto number = Catch::Generators::generate( "custom capture generator", "custom definition", CATCH_INTERNAL_LINEINFO,
|
||||
[&r1, r2]{
|
||||
using namespace Catch::Generators;
|
||||
return makeGenerators(take(50, random(std::get<0>(r1), std::get<1>(r2))));
|
||||
|
@ -111,6 +111,7 @@ set(INTERNAL_HEADERS
|
||||
${SOURCES_DIR}/matchers/catch_matchers_templated.hpp
|
||||
${SOURCES_DIR}/matchers/catch_matchers_vector.hpp
|
||||
${SOURCES_DIR}/catch_message.hpp
|
||||
${SOURCES_DIR}/internal/catch_generator_info.hpp
|
||||
${SOURCES_DIR}/internal/catch_message_info.hpp
|
||||
${SOURCES_DIR}/internal/catch_meta.hpp
|
||||
${SOURCES_DIR}/internal/catch_move_and_forward.hpp
|
||||
@ -236,6 +237,7 @@ set(IMPL_SOURCES
|
||||
${SOURCES_DIR}/internal/catch_errno_guard.cpp
|
||||
${SOURCES_DIR}/internal/catch_lazy_expr.cpp
|
||||
${SOURCES_DIR}/internal/catch_leak_detector.cpp
|
||||
${SOURCES_DIR}/internal/catch_generator_info.cpp
|
||||
${SOURCES_DIR}/internal/catch_message_info.cpp
|
||||
${SOURCES_DIR}/internal/catch_polyfills.cpp
|
||||
${SOURCES_DIR}/internal/catch_startup_exception_registry.cpp
|
||||
|
@ -68,6 +68,7 @@
|
||||
#include <catch2/internal/catch_exception_translator_registry.hpp>
|
||||
#include <catch2/internal/catch_fatal_condition_handler.hpp>
|
||||
#include <catch2/internal/catch_floating_point_helpers.hpp>
|
||||
#include <catch2/internal/catch_generator_info.hpp>
|
||||
#include <catch2/internal/catch_istream.hpp>
|
||||
#include <catch2/internal/catch_lazy_expr.hpp>
|
||||
#include <catch2/internal/catch_leak_detector.hpp>
|
||||
|
@ -8,8 +8,10 @@
|
||||
#ifndef CATCH_GENERATORS_HPP_INCLUDED
|
||||
#define CATCH_GENERATORS_HPP_INCLUDED
|
||||
|
||||
#include "catch2/interfaces/catch_interfaces_capture.hpp"
|
||||
#include <catch2/catch_tostring.hpp>
|
||||
#include <catch2/interfaces/catch_interfaces_generatortracker.hpp>
|
||||
#include <catch2/internal/catch_generator_info.hpp>
|
||||
#include <catch2/internal/catch_source_line_info.hpp>
|
||||
#include <catch2/internal/catch_stringref.hpp>
|
||||
#include <catch2/internal/catch_move_and_forward.hpp>
|
||||
@ -210,7 +212,7 @@ namespace Detail {
|
||||
// Note: The type after -> is weird, because VS2015 cannot parse
|
||||
// the expression used in the typedef inside, when it is in
|
||||
// return type. Yeah.
|
||||
auto generate( StringRef generatorName, SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval<decltype(generatorExpression())>().get()) {
|
||||
auto generate( StringRef generatorName, StringRef definition, SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval<decltype(generatorExpression())>().get()) {
|
||||
using UnderlyingType = typename decltype(generatorExpression())::type;
|
||||
|
||||
IGeneratorTracker& tracker = acquireGeneratorTracker( generatorName, lineInfo );
|
||||
@ -219,6 +221,7 @@ namespace Detail {
|
||||
}
|
||||
|
||||
auto const& generator = static_cast<IGenerator<UnderlyingType> const&>( *tracker.getGenerator() );
|
||||
getResultCapture().trackGeneratorState(GeneratorInfo(definition, lineInfo, generator.currentElementAsString()));
|
||||
return generator.get();
|
||||
}
|
||||
|
||||
@ -227,14 +230,17 @@ namespace Detail {
|
||||
|
||||
#define GENERATE( ... ) \
|
||||
Catch::Generators::generate( INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_UNIQUE_NAME(generator)), \
|
||||
INTERNAL_CATCH_STRINGIZE( __VA_ARGS__ ), \
|
||||
CATCH_INTERNAL_LINEINFO, \
|
||||
[ ]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } ) //NOLINT(google-build-using-namespace)
|
||||
#define GENERATE_COPY( ... ) \
|
||||
Catch::Generators::generate( INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_UNIQUE_NAME(generator)), \
|
||||
INTERNAL_CATCH_STRINGIZE( __VA_ARGS__ ), \
|
||||
CATCH_INTERNAL_LINEINFO, \
|
||||
[=]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } ) //NOLINT(google-build-using-namespace)
|
||||
#define GENERATE_REF( ... ) \
|
||||
Catch::Generators::generate( INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_UNIQUE_NAME(generator)), \
|
||||
INTERNAL_CATCH_STRINGIZE( __VA_ARGS__ ), \
|
||||
CATCH_INTERNAL_LINEINFO, \
|
||||
[&]{ using namespace Catch::Generators; return makeGenerators( __VA_ARGS__ ); } ) //NOLINT(google-build-using-namespace)
|
||||
|
||||
|
@ -20,6 +20,7 @@ namespace Catch {
|
||||
struct AssertionInfo;
|
||||
struct SectionInfo;
|
||||
struct SectionEndInfo;
|
||||
struct GeneratorInfo;
|
||||
struct MessageInfo;
|
||||
struct MessageBuilder;
|
||||
struct Counts;
|
||||
@ -43,6 +44,7 @@ namespace Catch {
|
||||
virtual void sectionEndedEarly( SectionEndInfo const& endInfo ) = 0;
|
||||
|
||||
virtual auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& = 0;
|
||||
virtual void trackGeneratorState( GeneratorInfo info ) = 0;
|
||||
|
||||
virtual void benchmarkPreparing( StringRef name ) = 0;
|
||||
virtual void benchmarkStarting( BenchmarkInfo const& info ) = 0;
|
||||
|
@ -5,6 +5,7 @@
|
||||
// https://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
#include "catch2/interfaces/catch_interfaces_capture.hpp"
|
||||
#include <catch2/interfaces/catch_interfaces_reporter.hpp>
|
||||
#include <catch2/interfaces/catch_interfaces_config.hpp>
|
||||
#include <catch2/internal/catch_console_colour.hpp>
|
||||
@ -49,9 +50,11 @@ namespace Catch {
|
||||
|
||||
AssertionStats::AssertionStats( AssertionResult const& _assertionResult,
|
||||
std::vector<MessageInfo> const& _infoMessages,
|
||||
std::vector<GeneratorInfo> const& _generatorInfos,
|
||||
Totals const& _totals )
|
||||
: assertionResult( _assertionResult ),
|
||||
infoMessages( _infoMessages ),
|
||||
generatorInfos( _generatorInfos ),
|
||||
totals( _totals )
|
||||
{
|
||||
assertionResult.m_resultData.lazyExpression.m_transientExpression = _assertionResult.m_resultData.lazyExpression.m_transientExpression;
|
||||
|
@ -8,10 +8,12 @@
|
||||
#ifndef CATCH_INTERFACES_REPORTER_HPP_INCLUDED
|
||||
#define CATCH_INTERFACES_REPORTER_HPP_INCLUDED
|
||||
|
||||
#include "catch2/interfaces/catch_interfaces_capture.hpp"
|
||||
#include <catch2/catch_section_info.hpp>
|
||||
#include <catch2/catch_totals.hpp>
|
||||
#include <catch2/catch_assertion_result.hpp>
|
||||
#include <catch2/internal/catch_message_info.hpp>
|
||||
#include <catch2/internal/catch_generator_info.hpp>
|
||||
#include <catch2/internal/catch_stringref.hpp>
|
||||
#include <catch2/internal/catch_unique_ptr.hpp>
|
||||
#include <catch2/internal/catch_move_and_forward.hpp>
|
||||
@ -65,6 +67,7 @@ namespace Catch {
|
||||
struct AssertionStats {
|
||||
AssertionStats( AssertionResult const& _assertionResult,
|
||||
std::vector<MessageInfo> const& _infoMessages,
|
||||
std::vector<GeneratorInfo> const& _generatorInfos,
|
||||
Totals const& _totals );
|
||||
|
||||
AssertionStats( AssertionStats const& ) = default;
|
||||
@ -74,6 +77,7 @@ namespace Catch {
|
||||
|
||||
AssertionResult assertionResult;
|
||||
std::vector<MessageInfo> infoMessages;
|
||||
std::vector<GeneratorInfo> generatorInfos;
|
||||
Totals totals;
|
||||
};
|
||||
|
||||
|
@ -50,6 +50,7 @@ namespace Catch {
|
||||
|
||||
OriginalExpression = Cyan,
|
||||
ReconstructedExpression = BrightYellow,
|
||||
GeneratorValue = Cyan,
|
||||
|
||||
SecondaryText = LightGrey,
|
||||
Headers = White
|
||||
|
20
src/catch2/internal/catch_generator_info.cpp
Normal file
20
src/catch2/internal/catch_generator_info.cpp
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
// Copyright Catch2 Authors
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// https://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
|
||||
#include <catch2/internal/catch_generator_info.hpp>
|
||||
|
||||
namespace Catch {
|
||||
|
||||
GeneratorInfo::GeneratorInfo( StringRef _definition,
|
||||
SourceLineInfo const& _lineInfo,
|
||||
StringRef _currentElement ):
|
||||
definition( _definition ),
|
||||
lineInfo( _lineInfo ),
|
||||
currentElement( _currentElement ) {}
|
||||
|
||||
} // end namespace Catch
|
35
src/catch2/internal/catch_generator_info.hpp
Normal file
35
src/catch2/internal/catch_generator_info.hpp
Normal file
@ -0,0 +1,35 @@
|
||||
|
||||
// Copyright Catch2 Authors
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// https://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
#ifndef CATCH_GENERATOR_INFO_HPP_INCLUDED
|
||||
#define CATCH_GENERATOR_INFO_HPP_INCLUDED
|
||||
|
||||
#include <catch2/interfaces/catch_interfaces_capture.hpp>
|
||||
#include <catch2/internal/catch_source_line_info.hpp>
|
||||
#include <string>
|
||||
|
||||
namespace Catch {
|
||||
|
||||
struct GeneratorInfo {
|
||||
GeneratorInfo( StringRef _definition,
|
||||
SourceLineInfo const& _lineInfo,
|
||||
StringRef currentElement );
|
||||
|
||||
StringRef definition;
|
||||
SourceLineInfo lineInfo;
|
||||
StringRef currentElement;
|
||||
|
||||
bool operator==( GeneratorInfo const& other ) const {
|
||||
return definition == other.definition &&
|
||||
lineInfo == other.lineInfo &&
|
||||
currentElement == other.currentElement;
|
||||
}
|
||||
};
|
||||
|
||||
} // end namespace Catch
|
||||
|
||||
#endif // CATCH_GENERATOR_INFO_HPP_INCLUDED
|
@ -283,7 +283,7 @@ namespace Catch {
|
||||
m_lastAssertionPassed = true;
|
||||
}
|
||||
|
||||
m_reporter->assertionEnded(AssertionStats(result, m_messages, m_totals));
|
||||
m_reporter->assertionEnded(AssertionStats(result, m_messages, m_generatorInfos, m_totals));
|
||||
|
||||
if (result.getResultType() != ResultWas::Warning)
|
||||
m_messageScopes.clear();
|
||||
@ -319,6 +319,16 @@ namespace Catch {
|
||||
return tracker;
|
||||
}
|
||||
|
||||
void RunContext::trackGeneratorState( GeneratorInfo info ) {
|
||||
// Avoid redundant entries, in case a generator is used within a loop.
|
||||
if ( std::find( m_generatorInfos.cbegin(),
|
||||
m_generatorInfos.cend(),
|
||||
info ) != m_generatorInfos.cend() )
|
||||
return;
|
||||
|
||||
m_generatorInfos.push_back( info );
|
||||
}
|
||||
|
||||
bool RunContext::testForMissingAssertions(Counts& assertions) {
|
||||
if (assertions.total() != 0)
|
||||
return false;
|
||||
@ -343,6 +353,7 @@ namespace Catch {
|
||||
m_reporter->sectionEnded(SectionStats(endInfo.sectionInfo, assertions, endInfo.durationInSeconds, missingAssertions));
|
||||
m_messages.clear();
|
||||
m_messageScopes.clear();
|
||||
m_generatorInfos.clear();
|
||||
}
|
||||
|
||||
void RunContext::sectionEndedEarly(SectionEndInfo const & endInfo) {
|
||||
@ -490,6 +501,7 @@ namespace Catch {
|
||||
handleUnfinishedSections();
|
||||
m_messages.clear();
|
||||
m_messageScopes.clear();
|
||||
m_generatorInfos.clear();
|
||||
|
||||
SectionStats testCaseSectionStats(testCaseSection, assertions, duration, missingAssertions);
|
||||
m_reporter->sectionEnded(testCaseSectionStats);
|
||||
|
@ -8,6 +8,7 @@
|
||||
#ifndef CATCH_RUN_CONTEXT_HPP_INCLUDED
|
||||
#define CATCH_RUN_CONTEXT_HPP_INCLUDED
|
||||
|
||||
#include "catch2/interfaces/catch_interfaces_capture.hpp"
|
||||
#include <catch2/interfaces/catch_interfaces_reporter.hpp>
|
||||
#include <catch2/internal/catch_test_registry.hpp>
|
||||
#include <catch2/internal/catch_fatal_condition_handler.hpp>
|
||||
@ -74,6 +75,7 @@ namespace Catch {
|
||||
void sectionEndedEarly( SectionEndInfo const& endInfo ) override;
|
||||
|
||||
auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& override;
|
||||
void trackGeneratorState( GeneratorInfo info ) override;
|
||||
|
||||
void benchmarkPreparing( StringRef name ) override;
|
||||
void benchmarkStarting( BenchmarkInfo const& info ) override;
|
||||
@ -132,6 +134,7 @@ namespace Catch {
|
||||
Totals m_totals;
|
||||
IEventListenerPtr m_reporter;
|
||||
std::vector<MessageInfo> m_messages;
|
||||
std::vector<GeneratorInfo> m_generatorInfos;
|
||||
std::vector<ScopedMessage> m_messageScopes; /* Keeps owners of so-called unscoped messages. */
|
||||
AssertionInfo m_lastAssertionInfo;
|
||||
std::vector<SectionEndInfo> m_unfinishedSections;
|
||||
|
@ -127,6 +127,7 @@ public:
|
||||
printResultType();
|
||||
printOriginalExpression();
|
||||
printReconstructedExpression();
|
||||
printGeneratorStates();
|
||||
} else {
|
||||
stream << '\n';
|
||||
}
|
||||
@ -154,6 +155,21 @@ private:
|
||||
<< '\n';
|
||||
}
|
||||
}
|
||||
void printGeneratorStates() const {
|
||||
if ( stats.generatorInfos.empty() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
stream << "with " << pluralise(stats.generatorInfos.size(), "generator"_sr) << "\n";
|
||||
for ( auto const& info : stats.generatorInfos ) {
|
||||
stream << TextFlow::Column( "line:" ).indent( 2 )
|
||||
<< info.lineInfo.line << ": "
|
||||
<< "GENERATE(" << info.definition << ")\n"
|
||||
<< TextFlow::Column( "value: " ).indent( 2 )
|
||||
<< colourImpl->guardColour( Colour::GeneratorValue )
|
||||
<< info.currentElement << "\n";
|
||||
}
|
||||
}
|
||||
void printMessage() const {
|
||||
if (!messageLabel.empty())
|
||||
stream << messageLabel << ':' << '\n';
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -228,6 +228,9 @@ Generators.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( counter < 7 )
|
||||
with expansion:
|
||||
3 < 7
|
||||
with 1 generator
|
||||
line:267: GENERATE(1, 2)
|
||||
value: 1
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1913 - GENERATE inside a for loop should not keep recreating the generator
|
||||
@ -239,6 +242,9 @@ Generators.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( counter < 7 )
|
||||
with expansion:
|
||||
6 < 7
|
||||
with 1 generator
|
||||
line:267: GENERATE(1, 2)
|
||||
value: 2
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1913 - GENERATEs can share a line
|
||||
@ -250,6 +256,11 @@ Generators.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( i != j )
|
||||
with expansion:
|
||||
1 != 3
|
||||
with 2 generators
|
||||
line:276: GENERATE(1, 2)
|
||||
value: 1
|
||||
line:276: GENERATE(3, 4)
|
||||
value: 3
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1913 - GENERATEs can share a line
|
||||
@ -261,6 +272,11 @@ Generators.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( i != j )
|
||||
with expansion:
|
||||
1 != 4
|
||||
with 2 generators
|
||||
line:276: GENERATE(1, 2)
|
||||
value: 1
|
||||
line:276: GENERATE(3, 4)
|
||||
value: 4
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1913 - GENERATEs can share a line
|
||||
@ -272,6 +288,11 @@ Generators.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( i != j )
|
||||
with expansion:
|
||||
2 != 3
|
||||
with 2 generators
|
||||
line:276: GENERATE(1, 2)
|
||||
value: 2
|
||||
line:276: GENERATE(3, 4)
|
||||
value: 3
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1913 - GENERATEs can share a line
|
||||
@ -283,6 +304,11 @@ Generators.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( i != j )
|
||||
with expansion:
|
||||
2 != 4
|
||||
with 2 generators
|
||||
line:276: GENERATE(1, 2)
|
||||
value: 2
|
||||
line:276: GENERATE(3, 4)
|
||||
value: 4
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - GENERATE after a section
|
||||
@ -306,6 +332,9 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
1
|
||||
with 1 generator
|
||||
line:216: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - GENERATE after a section
|
||||
@ -318,6 +347,9 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
2
|
||||
with 1 generator
|
||||
line:216: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - GENERATE after a section
|
||||
@ -330,6 +362,9 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
3
|
||||
with 1 generator
|
||||
line:216: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - Section followed by flat generate
|
||||
@ -351,6 +386,9 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
2
|
||||
with 1 generator
|
||||
line:252: GENERATE(2, 3)
|
||||
value: 2
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - Section followed by flat generate
|
||||
@ -362,6 +400,9 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
3
|
||||
with 1 generator
|
||||
line:252: GENERATE(2, 3)
|
||||
value: 3
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - flat generate
|
||||
@ -373,6 +414,9 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
1
|
||||
with 1 generator
|
||||
line:223: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - flat generate
|
||||
@ -384,6 +428,9 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
2
|
||||
with 1 generator
|
||||
line:223: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - flat generate
|
||||
@ -395,6 +442,9 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
3
|
||||
with 1 generator
|
||||
line:223: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - mixed sections and generates
|
||||
@ -404,6 +454,9 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 1 generator
|
||||
line:235: GENERATE(1, 2)
|
||||
value: 1
|
||||
with message:
|
||||
A
|
||||
|
||||
@ -414,6 +467,11 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 2 generators
|
||||
line:239: GENERATE(3, 4)
|
||||
value: 3
|
||||
line:243: GENERATE(5, 6)
|
||||
value: 5
|
||||
with messages:
|
||||
i := 1
|
||||
j := 3
|
||||
@ -427,6 +485,11 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 2 generators
|
||||
line:235: GENERATE(1, 2)
|
||||
value: 1
|
||||
line:239: GENERATE(3, 4)
|
||||
value: 3
|
||||
with message:
|
||||
B
|
||||
|
||||
@ -437,6 +500,9 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 1 generator
|
||||
line:243: GENERATE(5, 6)
|
||||
value: 6
|
||||
with messages:
|
||||
i := 1
|
||||
j := 3
|
||||
@ -450,6 +516,11 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 2 generators
|
||||
line:235: GENERATE(1, 2)
|
||||
value: 1
|
||||
line:239: GENERATE(3, 4)
|
||||
value: 4
|
||||
with message:
|
||||
B
|
||||
|
||||
@ -460,6 +531,9 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 1 generator
|
||||
line:243: GENERATE(5, 6)
|
||||
value: 5
|
||||
with messages:
|
||||
i := 1
|
||||
j := 4
|
||||
@ -472,6 +546,13 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 3 generators
|
||||
line:235: GENERATE(1, 2)
|
||||
value: 1
|
||||
line:239: GENERATE(3, 4)
|
||||
value: 4
|
||||
line:243: GENERATE(5, 6)
|
||||
value: 6
|
||||
with messages:
|
||||
i := 1
|
||||
j := 4
|
||||
@ -485,6 +566,9 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 1 generator
|
||||
line:235: GENERATE(1, 2)
|
||||
value: 2
|
||||
with message:
|
||||
A
|
||||
|
||||
@ -495,6 +579,11 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 2 generators
|
||||
line:239: GENERATE(3, 4)
|
||||
value: 3
|
||||
line:243: GENERATE(5, 6)
|
||||
value: 5
|
||||
with messages:
|
||||
i := 2
|
||||
j := 3
|
||||
@ -508,6 +597,11 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 2 generators
|
||||
line:235: GENERATE(1, 2)
|
||||
value: 2
|
||||
line:239: GENERATE(3, 4)
|
||||
value: 3
|
||||
with message:
|
||||
B
|
||||
|
||||
@ -518,6 +612,9 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 1 generator
|
||||
line:243: GENERATE(5, 6)
|
||||
value: 6
|
||||
with messages:
|
||||
i := 2
|
||||
j := 3
|
||||
@ -531,6 +628,11 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 2 generators
|
||||
line:235: GENERATE(1, 2)
|
||||
value: 2
|
||||
line:239: GENERATE(3, 4)
|
||||
value: 4
|
||||
with message:
|
||||
B
|
||||
|
||||
@ -541,6 +643,9 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 1 generator
|
||||
line:243: GENERATE(5, 6)
|
||||
value: 5
|
||||
with messages:
|
||||
i := 2
|
||||
j := 4
|
||||
@ -553,6 +658,13 @@ PartTracker.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
with 3 generators
|
||||
line:235: GENERATE(1, 2)
|
||||
value: 2
|
||||
line:239: GENERATE(3, 4)
|
||||
value: 4
|
||||
line:243: GENERATE(5, 6)
|
||||
value: 6
|
||||
with messages:
|
||||
i := 2
|
||||
j := 4
|
||||
@ -568,11 +680,21 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
1
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( n )
|
||||
with expansion:
|
||||
1
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - nested generate
|
||||
@ -584,11 +706,21 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
1
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( n )
|
||||
with expansion:
|
||||
2
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - nested generate
|
||||
@ -600,11 +732,21 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
1
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( n )
|
||||
with expansion:
|
||||
3
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - nested generate
|
||||
@ -616,11 +758,21 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
2
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( n )
|
||||
with expansion:
|
||||
1
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - nested generate
|
||||
@ -632,11 +784,21 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
2
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( n )
|
||||
with expansion:
|
||||
2
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - nested generate
|
||||
@ -648,11 +810,21 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
2
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( n )
|
||||
with expansion:
|
||||
3
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - nested generate
|
||||
@ -664,11 +836,21 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
3
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( n )
|
||||
with expansion:
|
||||
1
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 1
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - nested generate
|
||||
@ -680,11 +862,21 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
3
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( n )
|
||||
with expansion:
|
||||
2
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 2
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1938 - nested generate
|
||||
@ -696,11 +888,21 @@ PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( m )
|
||||
with expansion:
|
||||
3
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
|
||||
PartTracker.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( n )
|
||||
with expansion:
|
||||
3
|
||||
with 2 generators
|
||||
line:228: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
line:229: GENERATE(1, 2, 3)
|
||||
value: 3
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
#1954 - 7 arg template test case sig compiles - 1, 1, 1, 1, 1, 0, 0
|
||||
|
Loading…
Reference in New Issue
Block a user