mirror of
https://github.com/catchorg/Catch2.git
synced 2025-09-23 13:05:39 +02:00
Upgrade to C++17
This commit is contained in:
@@ -514,7 +514,7 @@ add_executable(AmalgamatedTestCompilation
|
||||
${CATCH_DIR}/extras/catch_amalgamated.cpp
|
||||
)
|
||||
target_include_directories(AmalgamatedTestCompilation PRIVATE ${CATCH_DIR}/extras)
|
||||
target_compile_features(AmalgamatedTestCompilation PRIVATE cxx_std_14)
|
||||
target_compile_features(AmalgamatedTestCompilation PRIVATE cxx_std_17)
|
||||
|
||||
add_test(NAME AmalgamatedFileTest COMMAND AmalgamatedTestCompilation)
|
||||
set_tests_properties(AmalgamatedFileTest
|
||||
|
@@ -72,10 +72,10 @@ CATCH_TEST_CASE("PrefixedMacros") {
|
||||
}
|
||||
}
|
||||
|
||||
CATCH_STATIC_REQUIRE( std::is_void<void>::value );
|
||||
CATCH_STATIC_REQUIRE_FALSE( std::is_void<int>::value );
|
||||
CATCH_STATIC_CHECK( std::is_void<void>::value );
|
||||
CATCH_STATIC_CHECK_FALSE( std::is_void<int>::value );
|
||||
CATCH_STATIC_REQUIRE( std::is_void_v<void> );
|
||||
CATCH_STATIC_REQUIRE_FALSE( std::is_void_v<int> );
|
||||
CATCH_STATIC_CHECK( std::is_void_v<void> );
|
||||
CATCH_STATIC_CHECK_FALSE( std::is_void_v<int> );
|
||||
CATCH_FAIL("");
|
||||
}
|
||||
|
||||
|
@@ -21,7 +21,7 @@ This warning message starts with a linebreak'
|
||||
This would not be caught previously
|
||||
Nor would this
|
||||
Tricky.tests.cpp:<line number>: failed: explicitly with 1 message: '1514'
|
||||
Compilation.tests.cpp:<line number>: passed: std::is_same<TypeList<int>, TypeList<int>>::value for: true
|
||||
Compilation.tests.cpp:<line number>: passed: std::is_same_v<TypeList<int>, TypeList<int>> for: true
|
||||
TestSpec.tests.cpp:<line number>: passed: spec.matches(*fakeTestCase("spec . char")) for: true
|
||||
TestSpec.tests.cpp:<line number>: passed: spec.matches(*fakeTestCase("spec , char")) for: true
|
||||
TestSpec.tests.cpp:<line number>: passed: !(spec.matches(*fakeTestCase(R"(spec \, char)"))) for: !false
|
||||
@@ -436,32 +436,32 @@ B
|
||||
Using code: 0
|
||||
C
|
||||
"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, ( MatcherA() && MatcherB() ) && MatcherC() for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() && ( MatcherB() && MatcherC() ) for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>:: value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 and equals: true )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, ( MatcherA() || MatcherB() ) || MatcherC() for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() || ( MatcherB() || MatcherC() ) for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>:: value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 or equals: true )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( !MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( !MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 0, !MatcherA() for: 0 not equals: (int) 1 or (string) "1"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( !!MatcherA() ), MatcherA const&>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( !!MatcherA() ), MatcherA const&>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, !!MatcherA() for: 1 equals: (int) 1 or (string) "1"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( !!!MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( !!!MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 0, !!!MatcherA() for: 0 not equals: (int) 1 or (string) "1"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( !!!!MatcherA() ), MatcherA const&>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( !!!!MatcherA() ), MatcherA const&>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, !!!!MatcherA() for: 1 equals: (int) 1 or (string) "1"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) && EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::MatchAnyOf<std::string>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) && EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::MatchAnyOf<std::string>>'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() || MatcherB() for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() && MatcherB() for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() || !MatcherB() for: 1 ( equals: (int) 1 or (string) "1" or not equals: (long long) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: vec, Predicate<std::vector<int>>( []( auto const& v ) { return std::all_of( v.begin(), v.end(), []( int elem ) { return elem % 2 == 1; } ); }, "All elements are odd" ) && !EqualsRange( a ) for: { 1, 3, 5 } ( matches predicate: "All elements are odd" and not Equals: { 5, 3, 1 } )
|
||||
Matchers.tests.cpp:<line number>: passed: str, StartsWith( "foo" ) && EqualsRange( arr ) && EndsWith( "bar" ) for: "foobar" ( starts with: "foo" and Equals: { 'f', 'o', 'o', 'b', 'a', 'r' } and ends with: "bar" )
|
||||
@@ -1273,10 +1273,10 @@ Exception.tests.cpp:<line number>: failed: unexpected exception with message: 'c
|
||||
Tricky.tests.cpp:<line number>: passed: True for: {?}
|
||||
Tricky.tests.cpp:<line number>: passed: !False for: true
|
||||
Tricky.tests.cpp:<line number>: passed: !(False) for: !{?}
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: 'std::is_void<void>::value'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: '!(std::is_void<int>::value)'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: 'std::is_void<void>::value'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: '!(std::is_void<int>::value)'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: 'std::is_void_v<void>'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: '!(std::is_void_v<int>)'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: 'std::is_void_v<void>'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: '!(std::is_void_v<int>)'
|
||||
Condition.tests.cpp:<line number>: failed: data.int_seven > 7 for: 7 > 7
|
||||
Condition.tests.cpp:<line number>: failed: data.int_seven < 7 for: 7 < 7
|
||||
Condition.tests.cpp:<line number>: failed: data.int_seven > 8 for: 7 > 8
|
||||
@@ -1511,9 +1511,9 @@ CmdLine.tests.cpp:<line number>: passed: cli.parse({ "test", "--benchmark-no-ana
|
||||
CmdLine.tests.cpp:<line number>: passed: config.benchmarkNoAnalysis for: true
|
||||
CmdLine.tests.cpp:<line number>: passed: cli.parse({ "test", "--benchmark-warmup-time=10" }) for: {?}
|
||||
CmdLine.tests.cpp:<line number>: passed: config.benchmarkWarmupTime == 10 for: 10 == 10
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 3 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 2 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 1 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size_v<TestType> >= 1 for: 3 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size_v<TestType> >= 1 for: 2 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size_v<TestType> >= 1 for: 1 >= 1
|
||||
RandomNumberGeneration.tests.cpp:<line number>: passed: Catch::generateRandomSeed(method)
|
||||
RandomNumberGeneration.tests.cpp:<line number>: passed: Catch::generateRandomSeed(method)
|
||||
RandomNumberGeneration.tests.cpp:<line number>: passed: Catch::generateRandomSeed(method)
|
||||
@@ -1906,13 +1906,13 @@ Tag.tests.cpp:<line number>: passed: testCase.tags, VectorContains( Tag( "tag wi
|
||||
Class.tests.cpp:<line number>: passed: Template_Fixture<TestType>::m_a == 1 for: 1 == 1
|
||||
Class.tests.cpp:<line number>: passed: Template_Fixture<TestType>::m_a == 1 for: 1 == 1
|
||||
Class.tests.cpp:<line number>: passed: Template_Fixture<TestType>::m_a == 1 for: 1.0 == 1
|
||||
Misc.tests.cpp:<line number>: passed: std::is_default_constructible<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_default_constructible<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_trivially_copyable<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_trivially_copyable<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_default_constructible_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_default_constructible_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_trivially_copyable_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_trivially_copyable_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: v.size() == 5 for: 5 == 5
|
||||
Misc.tests.cpp:<line number>: passed: v.capacity() >= 5 for: 5 >= 5
|
||||
Misc.tests.cpp:<line number>: passed: v.size() == 10 for: 10 == 10
|
||||
|
@@ -19,7 +19,7 @@ Message.tests.cpp:<line number>: warning: '
|
||||
This info message starts with a linebreak' with 1 message: '
|
||||
This warning message starts with a linebreak'
|
||||
Tricky.tests.cpp:<line number>: failed: explicitly with 1 message: '1514'
|
||||
Compilation.tests.cpp:<line number>: passed: std::is_same<TypeList<int>, TypeList<int>>::value for: true
|
||||
Compilation.tests.cpp:<line number>: passed: std::is_same_v<TypeList<int>, TypeList<int>> for: true
|
||||
TestSpec.tests.cpp:<line number>: passed: spec.matches(*fakeTestCase("spec . char")) for: true
|
||||
TestSpec.tests.cpp:<line number>: passed: spec.matches(*fakeTestCase("spec , char")) for: true
|
||||
TestSpec.tests.cpp:<line number>: passed: !(spec.matches(*fakeTestCase(R"(spec \, char)"))) for: !false
|
||||
@@ -434,32 +434,32 @@ B
|
||||
Using code: 0
|
||||
C
|
||||
"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, ( MatcherA() && MatcherB() ) && MatcherC() for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() && ( MatcherB() && MatcherC() ) for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>:: value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 and equals: true )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, ( MatcherA() || MatcherB() ) || MatcherC() for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() || ( MatcherB() || MatcherC() ) for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>:: value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 or equals: true )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( !MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( !MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 0, !MatcherA() for: 0 not equals: (int) 1 or (string) "1"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( !!MatcherA() ), MatcherA const&>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( !!MatcherA() ), MatcherA const&>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, !!MatcherA() for: 1 equals: (int) 1 or (string) "1"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( !!!MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( !!!MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 0, !!!MatcherA() for: 0 not equals: (int) 1 or (string) "1"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( !!!!MatcherA() ), MatcherA const&>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( !!!!MatcherA() ), MatcherA const&>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, !!!!MatcherA() for: 1 equals: (int) 1 or (string) "1"
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) && EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::MatchAnyOf<std::string>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) && EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::MatchAnyOf<std::string>>'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() || MatcherB() for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() && MatcherB() for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>>::value'
|
||||
Matchers.tests.cpp:<line number>: passed: with 1 message: 'std::is_same_v< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>>'
|
||||
Matchers.tests.cpp:<line number>: passed: 1, MatcherA() || !MatcherB() for: 1 ( equals: (int) 1 or (string) "1" or not equals: (long long) 1 )
|
||||
Matchers.tests.cpp:<line number>: passed: vec, Predicate<std::vector<int>>( []( auto const& v ) { return std::all_of( v.begin(), v.end(), []( int elem ) { return elem % 2 == 1; } ); }, "All elements are odd" ) && !EqualsRange( a ) for: { 1, 3, 5 } ( matches predicate: "All elements are odd" and not Equals: { 5, 3, 1 } )
|
||||
Matchers.tests.cpp:<line number>: passed: str, StartsWith( "foo" ) && EqualsRange( arr ) && EndsWith( "bar" ) for: "foobar" ( starts with: "foo" and Equals: { 'f', 'o', 'o', 'b', 'a', 'r' } and ends with: "bar" )
|
||||
@@ -1271,10 +1271,10 @@ Exception.tests.cpp:<line number>: failed: unexpected exception with message: 'c
|
||||
Tricky.tests.cpp:<line number>: passed: True for: {?}
|
||||
Tricky.tests.cpp:<line number>: passed: !False for: true
|
||||
Tricky.tests.cpp:<line number>: passed: !(False) for: !{?}
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: 'std::is_void<void>::value'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: '!(std::is_void<int>::value)'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: 'std::is_void<void>::value'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: '!(std::is_void<int>::value)'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: 'std::is_void_v<void>'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: '!(std::is_void_v<int>)'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: 'std::is_void_v<void>'
|
||||
Compilation.tests.cpp:<line number>: passed: with 1 message: '!(std::is_void_v<int>)'
|
||||
Condition.tests.cpp:<line number>: failed: data.int_seven > 7 for: 7 > 7
|
||||
Condition.tests.cpp:<line number>: failed: data.int_seven < 7 for: 7 < 7
|
||||
Condition.tests.cpp:<line number>: failed: data.int_seven > 8 for: 7 > 8
|
||||
@@ -1509,9 +1509,9 @@ CmdLine.tests.cpp:<line number>: passed: cli.parse({ "test", "--benchmark-no-ana
|
||||
CmdLine.tests.cpp:<line number>: passed: config.benchmarkNoAnalysis for: true
|
||||
CmdLine.tests.cpp:<line number>: passed: cli.parse({ "test", "--benchmark-warmup-time=10" }) for: {?}
|
||||
CmdLine.tests.cpp:<line number>: passed: config.benchmarkWarmupTime == 10 for: 10 == 10
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 3 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 2 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 1 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size_v<TestType> >= 1 for: 3 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size_v<TestType> >= 1 for: 2 >= 1
|
||||
Misc.tests.cpp:<line number>: passed: std::tuple_size_v<TestType> >= 1 for: 1 >= 1
|
||||
RandomNumberGeneration.tests.cpp:<line number>: passed: Catch::generateRandomSeed(method)
|
||||
RandomNumberGeneration.tests.cpp:<line number>: passed: Catch::generateRandomSeed(method)
|
||||
RandomNumberGeneration.tests.cpp:<line number>: passed: Catch::generateRandomSeed(method)
|
||||
@@ -1899,13 +1899,13 @@ Tag.tests.cpp:<line number>: passed: testCase.tags, VectorContains( Tag( "tag wi
|
||||
Class.tests.cpp:<line number>: passed: Template_Fixture<TestType>::m_a == 1 for: 1 == 1
|
||||
Class.tests.cpp:<line number>: passed: Template_Fixture<TestType>::m_a == 1 for: 1 == 1
|
||||
Class.tests.cpp:<line number>: passed: Template_Fixture<TestType>::m_a == 1 for: 1.0 == 1
|
||||
Misc.tests.cpp:<line number>: passed: std::is_default_constructible<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_default_constructible<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_trivially_copyable<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_trivially_copyable<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic<TestType>::value for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_default_constructible_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_default_constructible_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_trivially_copyable_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_trivially_copyable_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: std::is_arithmetic_v<TestType> for: true
|
||||
Misc.tests.cpp:<line number>: passed: v.size() == 5 for: 5 == 5
|
||||
Misc.tests.cpp:<line number>: passed: v.capacity() >= 5 for: 5 >= 5
|
||||
Misc.tests.cpp:<line number>: passed: v.size() == 10 for: 10 == 10
|
||||
|
@@ -159,7 +159,7 @@ Compilation.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_same<TypeList<int>, TypeList<int>>::value )
|
||||
REQUIRE( std::is_same_v<TypeList<int>, TypeList<int>> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -3274,8 +3274,8 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::
|
||||
Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
||||
std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ),
|
||||
Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, ( MatcherA() && MatcherB() ) && MatcherC() )
|
||||
@@ -3285,8 +3285,8 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::
|
||||
Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
||||
std::is_same_v< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ),
|
||||
Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() && ( MatcherB() && MatcherC() ) )
|
||||
@@ -3296,9 +3296,9 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() &&
|
||||
std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() &&
|
||||
MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA,
|
||||
MatcherB, MatcherC, MatcherD>>:: value
|
||||
MatcherB, MatcherC, MatcherD>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) )
|
||||
@@ -3314,8 +3314,8 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::
|
||||
Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
||||
std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ),
|
||||
Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, ( MatcherA() || MatcherB() ) || MatcherC() )
|
||||
@@ -3325,8 +3325,8 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::
|
||||
Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
||||
std::is_same_v< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ),
|
||||
Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() || ( MatcherB() || MatcherC() ) )
|
||||
@@ -3336,9 +3336,9 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() ||
|
||||
std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() ||
|
||||
MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA,
|
||||
MatcherB, MatcherC, MatcherD>>:: value
|
||||
MatcherB, MatcherC, MatcherD>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) )
|
||||
@@ -3354,8 +3354,8 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( !MatcherA() ), Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherA>>::value
|
||||
std::is_same_v< decltype( !MatcherA() ), Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherA>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 0, !MatcherA() )
|
||||
@@ -3364,7 +3364,7 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( !!MatcherA() ), MatcherA const&>::value
|
||||
std::is_same_v<decltype( !!MatcherA() ), MatcherA const&>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, !!MatcherA() )
|
||||
@@ -3373,8 +3373,8 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( !!!MatcherA() ), Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherA>>::value
|
||||
std::is_same_v< decltype( !!!MatcherA() ), Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherA>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 0, !!!MatcherA() )
|
||||
@@ -3383,7 +3383,7 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( !!!!MatcherA() ), MatcherA const&>::value
|
||||
std::is_same_v<decltype( !!!!MatcherA() ), MatcherA const&>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, !!!!MatcherA() )
|
||||
@@ -3398,9 +3398,9 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) &&
|
||||
std::is_same_v<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) &&
|
||||
EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::
|
||||
MatchAnyOf<std::string>>::value
|
||||
MatchAnyOf<std::string>>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Combining only templated matchers
|
||||
@@ -3410,8 +3410,8 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail::
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB>>::value
|
||||
std::is_same_v<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:
|
||||
: MatchAnyOfGeneric<MatcherA, MatcherB>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() || MatcherB() )
|
||||
@@ -3420,8 +3420,8 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail::
|
||||
MatchAllOfGeneric<MatcherA, MatcherB>>::value
|
||||
std::is_same_v<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:
|
||||
: MatchAllOfGeneric<MatcherA, MatcherB>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() && MatcherB() )
|
||||
@@ -3430,9 +3430,9 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail:
|
||||
:MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric
|
||||
<MatcherB>>>::value
|
||||
std::is_same_v< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::
|
||||
Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherB>>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() || !MatcherB() )
|
||||
@@ -8475,19 +8475,19 @@ Compilation.tests.cpp:<line number>
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_void<void>::value
|
||||
std::is_void_v<void>
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
!(std::is_void<int>::value)
|
||||
!(std::is_void_v<int>)
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_void<void>::value
|
||||
std::is_void_v<void>
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
!(std::is_void<int>::value)
|
||||
!(std::is_void_v<int>)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Ordering comparison checks that should fail
|
||||
@@ -10052,7 +10052,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
||||
REQUIRE( std::tuple_size_v<TestType> >= 1 )
|
||||
with expansion:
|
||||
3 >= 1
|
||||
|
||||
@@ -10063,7 +10063,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
||||
REQUIRE( std::tuple_size_v<TestType> >= 1 )
|
||||
with expansion:
|
||||
2 >= 1
|
||||
|
||||
@@ -10074,7 +10074,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
||||
REQUIRE( std::tuple_size_v<TestType> >= 1 )
|
||||
with expansion:
|
||||
1 >= 1
|
||||
|
||||
@@ -12106,7 +12106,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_default_constructible<TestType>::value )
|
||||
REQUIRE( std::is_default_constructible_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12118,7 +12118,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_default_constructible<TestType>::value )
|
||||
REQUIRE( std::is_default_constructible_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12130,7 +12130,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_trivially_copyable<TestType>::value )
|
||||
REQUIRE( std::is_trivially_copyable_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12142,7 +12142,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_trivially_copyable<TestType>::value )
|
||||
REQUIRE( std::is_trivially_copyable_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12153,7 +12153,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_arithmetic<TestType>::value )
|
||||
REQUIRE( std::is_arithmetic_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12164,7 +12164,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_arithmetic<TestType>::value )
|
||||
REQUIRE( std::is_arithmetic_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12175,7 +12175,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_arithmetic<TestType>::value )
|
||||
REQUIRE( std::is_arithmetic_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
|
@@ -157,7 +157,7 @@ Compilation.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_same<TypeList<int>, TypeList<int>>::value )
|
||||
REQUIRE( std::is_same_v<TypeList<int>, TypeList<int>> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -3272,8 +3272,8 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::
|
||||
Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
||||
std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ),
|
||||
Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, ( MatcherA() && MatcherB() ) && MatcherC() )
|
||||
@@ -3283,8 +3283,8 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::
|
||||
Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
||||
std::is_same_v< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ),
|
||||
Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() && ( MatcherB() && MatcherC() ) )
|
||||
@@ -3294,9 +3294,9 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() &&
|
||||
std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() &&
|
||||
MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA,
|
||||
MatcherB, MatcherC, MatcherD>>:: value
|
||||
MatcherB, MatcherC, MatcherD>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) )
|
||||
@@ -3312,8 +3312,8 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::
|
||||
Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
||||
std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ),
|
||||
Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, ( MatcherA() || MatcherB() ) || MatcherC() )
|
||||
@@ -3323,8 +3323,8 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::
|
||||
Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
||||
std::is_same_v< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ),
|
||||
Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() || ( MatcherB() || MatcherC() ) )
|
||||
@@ -3334,9 +3334,9 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() ||
|
||||
std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() ||
|
||||
MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA,
|
||||
MatcherB, MatcherC, MatcherD>>:: value
|
||||
MatcherB, MatcherC, MatcherD>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) )
|
||||
@@ -3352,8 +3352,8 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( !MatcherA() ), Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherA>>::value
|
||||
std::is_same_v< decltype( !MatcherA() ), Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherA>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 0, !MatcherA() )
|
||||
@@ -3362,7 +3362,7 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( !!MatcherA() ), MatcherA const&>::value
|
||||
std::is_same_v<decltype( !!MatcherA() ), MatcherA const&>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, !!MatcherA() )
|
||||
@@ -3371,8 +3371,8 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( !!!MatcherA() ), Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherA>>::value
|
||||
std::is_same_v< decltype( !!!MatcherA() ), Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherA>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 0, !!!MatcherA() )
|
||||
@@ -3381,7 +3381,7 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( !!!!MatcherA() ), MatcherA const&>::value
|
||||
std::is_same_v<decltype( !!!!MatcherA() ), MatcherA const&>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, !!!!MatcherA() )
|
||||
@@ -3396,9 +3396,9 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) &&
|
||||
std::is_same_v<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) &&
|
||||
EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::
|
||||
MatchAnyOf<std::string>>::value
|
||||
MatchAnyOf<std::string>>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Combining only templated matchers
|
||||
@@ -3408,8 +3408,8 @@ Matchers.tests.cpp:<line number>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail::
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB>>::value
|
||||
std::is_same_v<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:
|
||||
: MatchAnyOfGeneric<MatcherA, MatcherB>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() || MatcherB() )
|
||||
@@ -3418,8 +3418,8 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail::
|
||||
MatchAllOfGeneric<MatcherA, MatcherB>>::value
|
||||
std::is_same_v<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:
|
||||
: MatchAllOfGeneric<MatcherA, MatcherB>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() && MatcherB() )
|
||||
@@ -3428,9 +3428,9 @@ with expansion:
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_same< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail:
|
||||
:MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric
|
||||
<MatcherB>>>::value
|
||||
std::is_same_v< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::
|
||||
Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::
|
||||
MatchNotOfGeneric<MatcherB>>>
|
||||
|
||||
Matchers.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE_THAT( 1, MatcherA() || !MatcherB() )
|
||||
@@ -8473,19 +8473,19 @@ Compilation.tests.cpp:<line number>
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_void<void>::value
|
||||
std::is_void_v<void>
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
!(std::is_void<int>::value)
|
||||
!(std::is_void_v<int>)
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
std::is_void<void>::value
|
||||
std::is_void_v<void>
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
with message:
|
||||
!(std::is_void<int>::value)
|
||||
!(std::is_void_v<int>)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Ordering comparison checks that should fail
|
||||
@@ -10050,7 +10050,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
||||
REQUIRE( std::tuple_size_v<TestType> >= 1 )
|
||||
with expansion:
|
||||
3 >= 1
|
||||
|
||||
@@ -10061,7 +10061,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
||||
REQUIRE( std::tuple_size_v<TestType> >= 1 )
|
||||
with expansion:
|
||||
2 >= 1
|
||||
|
||||
@@ -10072,7 +10072,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
||||
REQUIRE( std::tuple_size_v<TestType> >= 1 )
|
||||
with expansion:
|
||||
1 >= 1
|
||||
|
||||
@@ -12099,7 +12099,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_default_constructible<TestType>::value )
|
||||
REQUIRE( std::is_default_constructible_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12111,7 +12111,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_default_constructible<TestType>::value )
|
||||
REQUIRE( std::is_default_constructible_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12123,7 +12123,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_trivially_copyable<TestType>::value )
|
||||
REQUIRE( std::is_trivially_copyable_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12135,7 +12135,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_trivially_copyable<TestType>::value )
|
||||
REQUIRE( std::is_trivially_copyable_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12146,7 +12146,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_arithmetic<TestType>::value )
|
||||
REQUIRE( std::is_arithmetic_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12157,7 +12157,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_arithmetic<TestType>::value )
|
||||
REQUIRE( std::is_arithmetic_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
@@ -12168,7 +12168,7 @@ Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_arithmetic<TestType>::value )
|
||||
REQUIRE( std::is_arithmetic_v<TestType> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
|
@@ -159,7 +159,7 @@ Compilation.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Compilation.tests.cpp:<line number>: PASSED:
|
||||
REQUIRE( std::is_same<TypeList<int>, TypeList<int>>::value )
|
||||
REQUIRE( std::is_same_v<TypeList<int>, TypeList<int>> )
|
||||
with expansion:
|
||||
true
|
||||
|
||||
|
@@ -39,7 +39,7 @@ Nor would this
|
||||
# #1514: stderr/stdout is not captured in tests aborted by an exception
|
||||
not ok {test-number} - explicitly with 1 message: '1514'
|
||||
# #1548
|
||||
ok {test-number} - std::is_same<TypeList<int>, TypeList<int>>::value for: true
|
||||
ok {test-number} - std::is_same_v<TypeList<int>, TypeList<int>> for: true
|
||||
# #1905 -- test spec parser properly clears internal state between compound tests
|
||||
ok {test-number} - spec.matches(*fakeTestCase("spec . char")) for: true
|
||||
# #1905 -- test spec parser properly clears internal state between compound tests
|
||||
@@ -773,57 +773,57 @@ ok {test-number} - streamWrapper.str() == "1\nUsing code: 2\n2\nUsing code: 0\n3
|
||||
# ColourGuard behaviour
|
||||
ok {test-number} - streamWrapper.str() == "Using code: 2\nA\nB\nUsing code: 0\nC\n" for: "Using code: 2 A B Using code: 0 C " == "Using code: 2 A B Using code: 0 C "
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - 1, ( MatcherA() && MatcherB() ) && MatcherC() for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 )
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - 1, MatcherA() && ( MatcherB() && MatcherC() ) for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 )
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>:: value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>'
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - 1, ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 and equals: true )
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - 1, ( MatcherA() || MatcherB() ) || MatcherC() for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 )
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - 1, MatcherA() || ( MatcherB() || MatcherC() ) for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 )
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>:: value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>'
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - 1, ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 or equals: true )
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( !MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( !MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>'
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - 0, !MatcherA() for: 0 not equals: (int) 1 or (string) "1"
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( !!MatcherA() ), MatcherA const&>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( !!MatcherA() ), MatcherA const&>'
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - 1, !!MatcherA() for: 1 equals: (int) 1 or (string) "1"
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( !!!MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( !!!MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>'
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - 0, !!!MatcherA() for: 0 not equals: (int) 1 or (string) "1"
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( !!!!MatcherA() ), MatcherA const&>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( !!!!MatcherA() ), MatcherA const&>'
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - 1, !!!!MatcherA() for: 1 equals: (int) 1 or (string) "1"
|
||||
# Combining concrete matchers does not use templated matchers
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) && EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::MatchAnyOf<std::string>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) && EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::MatchAnyOf<std::string>>'
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB>>'
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - 1, MatcherA() || MatcherB() for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 )
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB>>'
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - 1, MatcherA() && MatcherB() for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 )
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>>'
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - 1, MatcherA() || !MatcherB() for: 1 ( equals: (int) 1 or (string) "1" or not equals: (long long) 1 )
|
||||
# Combining templated and concrete matchers
|
||||
@@ -2085,13 +2085,13 @@ ok {test-number} - !False for: true
|
||||
# Objects that evaluated in boolean contexts can be checked
|
||||
ok {test-number} - !(False) for: !{?}
|
||||
# Optionally static assertions
|
||||
ok {test-number} - with 1 message: 'std::is_void<void>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_void_v<void>'
|
||||
# Optionally static assertions
|
||||
ok {test-number} - with 1 message: '!(std::is_void<int>::value)'
|
||||
ok {test-number} - with 1 message: '!(std::is_void_v<int>)'
|
||||
# Optionally static assertions
|
||||
ok {test-number} - with 1 message: 'std::is_void<void>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_void_v<void>'
|
||||
# Optionally static assertions
|
||||
ok {test-number} - with 1 message: '!(std::is_void<int>::value)'
|
||||
ok {test-number} - with 1 message: '!(std::is_void_v<int>)'
|
||||
# Ordering comparison checks that should fail
|
||||
not ok {test-number} - data.int_seven > 7 for: 7 > 7
|
||||
# Ordering comparison checks that should fail
|
||||
@@ -2497,11 +2497,11 @@ ok {test-number} - cli.parse({ "test", "--benchmark-warmup-time=10" }) for: {?}
|
||||
# Process can be configured on command line
|
||||
ok {test-number} - config.benchmarkWarmupTime == 10 for: 10 == 10
|
||||
# Product with differing arities - std::tuple<int, double, float>
|
||||
ok {test-number} - std::tuple_size<TestType>::value >= 1 for: 3 >= 1
|
||||
ok {test-number} - std::tuple_size_v<TestType> >= 1 for: 3 >= 1
|
||||
# Product with differing arities - std::tuple<int, double>
|
||||
ok {test-number} - std::tuple_size<TestType>::value >= 1 for: 2 >= 1
|
||||
ok {test-number} - std::tuple_size_v<TestType> >= 1 for: 2 >= 1
|
||||
# Product with differing arities - std::tuple<int>
|
||||
ok {test-number} - std::tuple_size<TestType>::value >= 1 for: 1 >= 1
|
||||
ok {test-number} - std::tuple_size_v<TestType> >= 1 for: 1 >= 1
|
||||
# Random seed generation accepts known methods
|
||||
ok {test-number} - Catch::generateRandomSeed(method)
|
||||
# Random seed generation accepts known methods
|
||||
@@ -2882,19 +2882,19 @@ ok {test-number} - Template_Fixture<TestType>::m_a == 1 for: 1 == 1
|
||||
# Template test case method with test types specified inside std::tuple - MyTypes - 2
|
||||
ok {test-number} - Template_Fixture<TestType>::m_a == 1 for: 1.0 == 1
|
||||
# Template test case with test types specified inside non-copyable and non-movable std::tuple - NonCopyableAndNonMovableTypes - 0
|
||||
ok {test-number} - std::is_default_constructible<TestType>::value for: true
|
||||
ok {test-number} - std::is_default_constructible_v<TestType> for: true
|
||||
# Template test case with test types specified inside non-copyable and non-movable std::tuple - NonCopyableAndNonMovableTypes - 1
|
||||
ok {test-number} - std::is_default_constructible<TestType>::value for: true
|
||||
ok {test-number} - std::is_default_constructible_v<TestType> for: true
|
||||
# Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 0
|
||||
ok {test-number} - std::is_trivially_copyable<TestType>::value for: true
|
||||
ok {test-number} - std::is_trivially_copyable_v<TestType> for: true
|
||||
# Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 1
|
||||
ok {test-number} - std::is_trivially_copyable<TestType>::value for: true
|
||||
ok {test-number} - std::is_trivially_copyable_v<TestType> for: true
|
||||
# Template test case with test types specified inside std::tuple - MyTypes - 0
|
||||
ok {test-number} - std::is_arithmetic<TestType>::value for: true
|
||||
ok {test-number} - std::is_arithmetic_v<TestType> for: true
|
||||
# Template test case with test types specified inside std::tuple - MyTypes - 1
|
||||
ok {test-number} - std::is_arithmetic<TestType>::value for: true
|
||||
ok {test-number} - std::is_arithmetic_v<TestType> for: true
|
||||
# Template test case with test types specified inside std::tuple - MyTypes - 2
|
||||
ok {test-number} - std::is_arithmetic<TestType>::value for: true
|
||||
ok {test-number} - std::is_arithmetic_v<TestType> for: true
|
||||
# TemplateTest: vectors can be sized and resized - float
|
||||
ok {test-number} - v.size() == 5 for: 5 == 5
|
||||
# TemplateTest: vectors can be sized and resized - float
|
||||
|
@@ -37,7 +37,7 @@ This warning message starts with a linebreak'
|
||||
# #1514: stderr/stdout is not captured in tests aborted by an exception
|
||||
not ok {test-number} - explicitly with 1 message: '1514'
|
||||
# #1548
|
||||
ok {test-number} - std::is_same<TypeList<int>, TypeList<int>>::value for: true
|
||||
ok {test-number} - std::is_same_v<TypeList<int>, TypeList<int>> for: true
|
||||
# #1905 -- test spec parser properly clears internal state between compound tests
|
||||
ok {test-number} - spec.matches(*fakeTestCase("spec . char")) for: true
|
||||
# #1905 -- test spec parser properly clears internal state between compound tests
|
||||
@@ -771,57 +771,57 @@ ok {test-number} - streamWrapper.str() == "1\nUsing code: 2\n2\nUsing code: 0\n3
|
||||
# ColourGuard behaviour
|
||||
ok {test-number} - streamWrapper.str() == "Using code: 2\nA\nB\nUsing code: 0\nC\n" for: "Using code: 2 A B Using code: 0 C " == "Using code: 2 A B Using code: 0 C "
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - 1, ( MatcherA() && MatcherB() ) && MatcherC() for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 )
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - 1, MatcherA() && ( MatcherB() && MatcherC() ) for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 )
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>:: value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>'
|
||||
# Combining MatchAllOfGeneric does not nest
|
||||
ok {test-number} - 1, ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T) 1 and equals: true )
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - 1, ( MatcherA() || MatcherB() ) || MatcherC() for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 )
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>'
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - 1, MatcherA() || ( MatcherB() || MatcherC() ) for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 )
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>:: value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>'
|
||||
# Combining MatchAnyOfGeneric does not nest
|
||||
ok {test-number} - 1, ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1 or equals: true )
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( !MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( !MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>'
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - 0, !MatcherA() for: 0 not equals: (int) 1 or (string) "1"
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( !!MatcherA() ), MatcherA const&>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( !!MatcherA() ), MatcherA const&>'
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - 1, !!MatcherA() for: 1 equals: (int) 1 or (string) "1"
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( !!!MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( !!!MatcherA() ), Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>'
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - 0, !!!MatcherA() for: 0 not equals: (int) 1 or (string) "1"
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( !!!!MatcherA() ), MatcherA const&>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( !!!!MatcherA() ), MatcherA const&>'
|
||||
# Combining MatchNotOfGeneric does not nest
|
||||
ok {test-number} - 1, !!!!MatcherA() for: 1 equals: (int) 1 or (string) "1"
|
||||
# Combining concrete matchers does not use templated matchers
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) && EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::MatchAnyOf<std::string>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) && EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::MatchAnyOf<std::string>>'
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB>>'
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - 1, MatcherA() || MatcherB() for: 1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 )
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - with 1 message: 'std::is_same<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB>>'
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - 1, MatcherA() && MatcherB() for: 1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 )
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - with 1 message: 'std::is_same< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_same_v< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail::MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>>'
|
||||
# Combining only templated matchers
|
||||
ok {test-number} - 1, MatcherA() || !MatcherB() for: 1 ( equals: (int) 1 or (string) "1" or not equals: (long long) 1 )
|
||||
# Combining templated and concrete matchers
|
||||
@@ -2083,13 +2083,13 @@ ok {test-number} - !False for: true
|
||||
# Objects that evaluated in boolean contexts can be checked
|
||||
ok {test-number} - !(False) for: !{?}
|
||||
# Optionally static assertions
|
||||
ok {test-number} - with 1 message: 'std::is_void<void>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_void_v<void>'
|
||||
# Optionally static assertions
|
||||
ok {test-number} - with 1 message: '!(std::is_void<int>::value)'
|
||||
ok {test-number} - with 1 message: '!(std::is_void_v<int>)'
|
||||
# Optionally static assertions
|
||||
ok {test-number} - with 1 message: 'std::is_void<void>::value'
|
||||
ok {test-number} - with 1 message: 'std::is_void_v<void>'
|
||||
# Optionally static assertions
|
||||
ok {test-number} - with 1 message: '!(std::is_void<int>::value)'
|
||||
ok {test-number} - with 1 message: '!(std::is_void_v<int>)'
|
||||
# Ordering comparison checks that should fail
|
||||
not ok {test-number} - data.int_seven > 7 for: 7 > 7
|
||||
# Ordering comparison checks that should fail
|
||||
@@ -2495,11 +2495,11 @@ ok {test-number} - cli.parse({ "test", "--benchmark-warmup-time=10" }) for: {?}
|
||||
# Process can be configured on command line
|
||||
ok {test-number} - config.benchmarkWarmupTime == 10 for: 10 == 10
|
||||
# Product with differing arities - std::tuple<int, double, float>
|
||||
ok {test-number} - std::tuple_size<TestType>::value >= 1 for: 3 >= 1
|
||||
ok {test-number} - std::tuple_size_v<TestType> >= 1 for: 3 >= 1
|
||||
# Product with differing arities - std::tuple<int, double>
|
||||
ok {test-number} - std::tuple_size<TestType>::value >= 1 for: 2 >= 1
|
||||
ok {test-number} - std::tuple_size_v<TestType> >= 1 for: 2 >= 1
|
||||
# Product with differing arities - std::tuple<int>
|
||||
ok {test-number} - std::tuple_size<TestType>::value >= 1 for: 1 >= 1
|
||||
ok {test-number} - std::tuple_size_v<TestType> >= 1 for: 1 >= 1
|
||||
# Random seed generation accepts known methods
|
||||
ok {test-number} - Catch::generateRandomSeed(method)
|
||||
# Random seed generation accepts known methods
|
||||
@@ -2875,19 +2875,19 @@ ok {test-number} - Template_Fixture<TestType>::m_a == 1 for: 1 == 1
|
||||
# Template test case method with test types specified inside std::tuple - MyTypes - 2
|
||||
ok {test-number} - Template_Fixture<TestType>::m_a == 1 for: 1.0 == 1
|
||||
# Template test case with test types specified inside non-copyable and non-movable std::tuple - NonCopyableAndNonMovableTypes - 0
|
||||
ok {test-number} - std::is_default_constructible<TestType>::value for: true
|
||||
ok {test-number} - std::is_default_constructible_v<TestType> for: true
|
||||
# Template test case with test types specified inside non-copyable and non-movable std::tuple - NonCopyableAndNonMovableTypes - 1
|
||||
ok {test-number} - std::is_default_constructible<TestType>::value for: true
|
||||
ok {test-number} - std::is_default_constructible_v<TestType> for: true
|
||||
# Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 0
|
||||
ok {test-number} - std::is_trivially_copyable<TestType>::value for: true
|
||||
ok {test-number} - std::is_trivially_copyable_v<TestType> for: true
|
||||
# Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 1
|
||||
ok {test-number} - std::is_trivially_copyable<TestType>::value for: true
|
||||
ok {test-number} - std::is_trivially_copyable_v<TestType> for: true
|
||||
# Template test case with test types specified inside std::tuple - MyTypes - 0
|
||||
ok {test-number} - std::is_arithmetic<TestType>::value for: true
|
||||
ok {test-number} - std::is_arithmetic_v<TestType> for: true
|
||||
# Template test case with test types specified inside std::tuple - MyTypes - 1
|
||||
ok {test-number} - std::is_arithmetic<TestType>::value for: true
|
||||
ok {test-number} - std::is_arithmetic_v<TestType> for: true
|
||||
# Template test case with test types specified inside std::tuple - MyTypes - 2
|
||||
ok {test-number} - std::is_arithmetic<TestType>::value for: true
|
||||
ok {test-number} - std::is_arithmetic_v<TestType> for: true
|
||||
# TemplateTest: vectors can be sized and resized - float
|
||||
ok {test-number} - v.size() == 5 for: 5 == 5
|
||||
# TemplateTest: vectors can be sized and resized - float
|
||||
|
@@ -154,7 +154,7 @@ Nor would this
|
||||
<TestCase name="#1548" tags="[compilation]" filename="tests/<exe-name>/UsageTests/Compilation.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Compilation.tests.cpp" >
|
||||
<Original>
|
||||
std::is_same<TypeList<int>, TypeList<int>>::value
|
||||
std::is_same_v<TypeList<int>, TypeList<int>>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -12057,7 +12057,7 @@ Approx( 0.98999999999999999 )
|
||||
<TestCase name="Product with differing arities - std::tuple<int, double, float>" tags="[product][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::tuple_size<TestType>::value >= 1
|
||||
std::tuple_size_v<TestType> >= 1
|
||||
</Original>
|
||||
<Expanded>
|
||||
3 >= 1
|
||||
@@ -12068,7 +12068,7 @@ Approx( 0.98999999999999999 )
|
||||
<TestCase name="Product with differing arities - std::tuple<int, double>" tags="[product][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::tuple_size<TestType>::value >= 1
|
||||
std::tuple_size_v<TestType> >= 1
|
||||
</Original>
|
||||
<Expanded>
|
||||
2 >= 1
|
||||
@@ -12079,7 +12079,7 @@ Approx( 0.98999999999999999 )
|
||||
<TestCase name="Product with differing arities - std::tuple<int>" tags="[product][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::tuple_size<TestType>::value >= 1
|
||||
std::tuple_size_v<TestType> >= 1
|
||||
</Original>
|
||||
<Expanded>
|
||||
1 >= 1
|
||||
@@ -14113,7 +14113,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside non-copyable and non-movable std::tuple - NonCopyableAndNonMovableTypes - 0" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_default_constructible<TestType>::value
|
||||
std::is_default_constructible_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14124,7 +14124,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside non-copyable and non-movable std::tuple - NonCopyableAndNonMovableTypes - 1" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_default_constructible<TestType>::value
|
||||
std::is_default_constructible_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14135,7 +14135,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 0" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_trivially_copyable<TestType>::value
|
||||
std::is_trivially_copyable_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14146,7 +14146,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 1" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_trivially_copyable<TestType>::value
|
||||
std::is_trivially_copyable_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14157,7 +14157,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside std::tuple - MyTypes - 0" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_arithmetic<TestType>::value
|
||||
std::is_arithmetic_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14168,7 +14168,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside std::tuple - MyTypes - 1" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_arithmetic<TestType>::value
|
||||
std::is_arithmetic_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14179,7 +14179,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside std::tuple - MyTypes - 2" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_arithmetic<TestType>::value
|
||||
std::is_arithmetic_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
|
@@ -154,7 +154,7 @@ Nor would this
|
||||
<TestCase name="#1548" tags="[compilation]" filename="tests/<exe-name>/UsageTests/Compilation.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Compilation.tests.cpp" >
|
||||
<Original>
|
||||
std::is_same<TypeList<int>, TypeList<int>>::value
|
||||
std::is_same_v<TypeList<int>, TypeList<int>>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -12057,7 +12057,7 @@ Approx( 0.98999999999999999 )
|
||||
<TestCase name="Product with differing arities - std::tuple<int, double, float>" tags="[product][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::tuple_size<TestType>::value >= 1
|
||||
std::tuple_size_v<TestType> >= 1
|
||||
</Original>
|
||||
<Expanded>
|
||||
3 >= 1
|
||||
@@ -12068,7 +12068,7 @@ Approx( 0.98999999999999999 )
|
||||
<TestCase name="Product with differing arities - std::tuple<int, double>" tags="[product][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::tuple_size<TestType>::value >= 1
|
||||
std::tuple_size_v<TestType> >= 1
|
||||
</Original>
|
||||
<Expanded>
|
||||
2 >= 1
|
||||
@@ -12079,7 +12079,7 @@ Approx( 0.98999999999999999 )
|
||||
<TestCase name="Product with differing arities - std::tuple<int>" tags="[product][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::tuple_size<TestType>::value >= 1
|
||||
std::tuple_size_v<TestType> >= 1
|
||||
</Original>
|
||||
<Expanded>
|
||||
1 >= 1
|
||||
@@ -14113,7 +14113,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside non-copyable and non-movable std::tuple - NonCopyableAndNonMovableTypes - 0" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_default_constructible<TestType>::value
|
||||
std::is_default_constructible_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14124,7 +14124,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside non-copyable and non-movable std::tuple - NonCopyableAndNonMovableTypes - 1" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_default_constructible<TestType>::value
|
||||
std::is_default_constructible_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14135,7 +14135,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 0" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_trivially_copyable<TestType>::value
|
||||
std::is_trivially_copyable_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14146,7 +14146,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside non-default-constructible std::tuple - MyNonDefaultConstructibleTypes - 1" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_trivially_copyable<TestType>::value
|
||||
std::is_trivially_copyable_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14157,7 +14157,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside std::tuple - MyTypes - 0" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_arithmetic<TestType>::value
|
||||
std::is_arithmetic_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14168,7 +14168,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside std::tuple - MyTypes - 1" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_arithmetic<TestType>::value
|
||||
std::is_arithmetic_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
@@ -14179,7 +14179,7 @@ Message from section two
|
||||
<TestCase name="Template test case with test types specified inside std::tuple - MyTypes - 2" tags="[list][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
std::is_arithmetic<TestType>::value
|
||||
std::is_arithmetic_v<TestType>
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
|
@@ -443,13 +443,9 @@ TEST_CASE( "Parse rng seed in different formats", "[approvals][cli][rng-seed]" )
|
||||
auto cli = Catch::makeCommandLineParser( config );
|
||||
|
||||
SECTION("well formed cases") {
|
||||
char const* seed_string;
|
||||
uint32_t seed_value;
|
||||
// GCC-5 workaround
|
||||
using gen_type = std::tuple<char const*, uint32_t>;
|
||||
std::tie( seed_string, seed_value ) = GENERATE( table<char const*, uint32_t>({
|
||||
gen_type{ "0xBEEF", 0xBEEF },
|
||||
gen_type{ "12345678", 12345678 }
|
||||
auto [seed_string, seed_value] = GENERATE( table<char const*, uint32_t>({
|
||||
{ "0xBEEF", 0xBEEF },
|
||||
{ "12345678", 12345678 }
|
||||
} ) );
|
||||
CAPTURE( seed_string );
|
||||
|
||||
|
@@ -130,10 +130,10 @@ TEST_CASE( "count_equidistant_floats",
|
||||
std::numeric_limits<double>::max() ) ==
|
||||
18014398509481982 ); // (1 << 54) - 2 due to not including infinities
|
||||
|
||||
STATIC_REQUIRE( std::is_same<std::uint64_t,
|
||||
decltype( count_floats_with_scaled_ulp(
|
||||
0., 1. ) )>::value );
|
||||
STATIC_REQUIRE( std::is_same<std::uint32_t,
|
||||
decltype( count_floats_with_scaled_ulp(
|
||||
0.f, 1.f ) )>::value );
|
||||
STATIC_REQUIRE( std::is_same_v<std::uint64_t,
|
||||
decltype( count_floats_with_scaled_ulp(
|
||||
0., 1. ) )> );
|
||||
STATIC_REQUIRE( std::is_same_v<std::uint32_t,
|
||||
decltype( count_floats_with_scaled_ulp(
|
||||
0.f, 1.f ) )> );
|
||||
}
|
||||
|
@@ -427,7 +427,7 @@ TEST_CASE("GENERATE handles function (pointers)", "[generators][compilation][app
|
||||
TEST_CASE("GENERATE decays arrays", "[generators][compilation][approvals]") {
|
||||
auto str = GENERATE("abc", "def", "gh");
|
||||
(void)str;
|
||||
STATIC_REQUIRE(std::is_same<decltype(str), const char*>::value);
|
||||
STATIC_REQUIRE(std::is_same_v<decltype(str), const char*>);
|
||||
}
|
||||
|
||||
TEST_CASE("Generators count returned elements", "[generators][approvals]") {
|
||||
|
@@ -146,11 +146,11 @@ TEST_CASE( "SizedUnsignedType helpers", "[integer][approvals]" ) {
|
||||
STATIC_REQUIRE( sizeof( SizedUnsignedType_t<8> ) == 8 );
|
||||
|
||||
STATIC_REQUIRE( sizeof( DoubleWidthUnsignedType_t<std::uint8_t> ) == 2 );
|
||||
STATIC_REQUIRE( std::is_unsigned<DoubleWidthUnsignedType_t<std::uint8_t>>::value );
|
||||
STATIC_REQUIRE( std::is_unsigned_v<DoubleWidthUnsignedType_t<std::uint8_t>> );
|
||||
STATIC_REQUIRE( sizeof( DoubleWidthUnsignedType_t<std::uint16_t> ) == 4 );
|
||||
STATIC_REQUIRE( std::is_unsigned<DoubleWidthUnsignedType_t<std::uint16_t>>::value );
|
||||
STATIC_REQUIRE( std::is_unsigned_v<DoubleWidthUnsignedType_t<std::uint16_t>> );
|
||||
STATIC_REQUIRE( sizeof( DoubleWidthUnsignedType_t<std::uint32_t> ) == 8 );
|
||||
STATIC_REQUIRE( std::is_unsigned<DoubleWidthUnsignedType_t<std::uint32_t>>::value );
|
||||
STATIC_REQUIRE( std::is_unsigned_v<DoubleWidthUnsignedType_t<std::uint32_t>> );
|
||||
}
|
||||
|
||||
TEST_CASE( "extendedMult 32x32", "[integer][approvals]" ) {
|
||||
|
@@ -214,7 +214,7 @@ TEMPLATE_TEST_CASE( "uniform_integer_distribution can handle full width ranges",
|
||||
constexpr auto lowest = std::numeric_limits<TestType>::min();
|
||||
constexpr auto highest = std::numeric_limits<TestType>::max();
|
||||
Catch::uniform_integer_distribution<TestType> dist( lowest, highest );
|
||||
STATIC_REQUIRE( std::is_same<TestType, decltype( dist( pcg ) )>::value );
|
||||
STATIC_REQUIRE( std::is_same_v<TestType, decltype( dist( pcg ) )> );
|
||||
|
||||
// We need to do bit operations on the results, so we will have to
|
||||
// cast them to unsigned type.
|
||||
@@ -451,21 +451,6 @@ namespace {
|
||||
381264073 };
|
||||
};
|
||||
|
||||
// We need these definitions for C++14 and earlier, but
|
||||
// GCC will complain about them in newer C++ standards
|
||||
#if __cplusplus <= 201402L
|
||||
constexpr bool uniform_integer_test_params<bool>::expected[];
|
||||
constexpr char uniform_integer_test_params<char>::expected[];
|
||||
constexpr uint8_t uniform_integer_test_params<uint8_t>::expected[];
|
||||
constexpr int8_t uniform_integer_test_params<int8_t>::expected[];
|
||||
constexpr uint16_t uniform_integer_test_params<uint16_t>::expected[];
|
||||
constexpr int16_t uniform_integer_test_params<int16_t>::expected[];
|
||||
constexpr uint32_t uniform_integer_test_params<uint32_t>::expected[];
|
||||
constexpr int32_t uniform_integer_test_params<int32_t>::expected[];
|
||||
constexpr uint64_t uniform_integer_test_params<uint64_t>::expected[];
|
||||
constexpr int64_t uniform_integer_test_params<int64_t>::expected[];
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
TEMPLATE_TEST_CASE( "uniform_integer_distribution is reproducible",
|
||||
@@ -559,13 +544,6 @@ namespace {
|
||||
60912.7615841752,
|
||||
-149060.05936760217 };
|
||||
};
|
||||
|
||||
// We need these definitions for C++14 and earlier, but
|
||||
// GCC will complain about them in newer C++ standards
|
||||
#if __cplusplus <= 201402L
|
||||
constexpr float uniform_fp_test_params<float>::expected[];
|
||||
constexpr double uniform_fp_test_params<double>::expected[];
|
||||
#endif
|
||||
} // namespace
|
||||
|
||||
TEMPLATE_TEST_CASE( "uniform_floating_point_distribution is reproducible",
|
||||
|
@@ -17,8 +17,8 @@ static const char * const whitespace_at_both_ends = " \r\n \t There is no extra
|
||||
|
||||
TEST_CASE("Trim strings", "[string-manip]") {
|
||||
using Catch::trim; using Catch::StringRef;
|
||||
static_assert(std::is_same<std::string, decltype(trim(std::string{}))>::value, "Trimming std::string should return std::string");
|
||||
static_assert(std::is_same<StringRef, decltype(trim(StringRef{}))>::value, "Trimming StringRef should return StringRef");
|
||||
static_assert(std::is_same_v<std::string, decltype(trim(std::string{}))>, "Trimming std::string should return std::string");
|
||||
static_assert(std::is_same_v<StringRef, decltype(trim(StringRef{}))>, "Trimming StringRef should return StringRef");
|
||||
|
||||
REQUIRE(trim(std::string(no_whitespace)) == no_whitespace);
|
||||
REQUIRE(trim(std::string(leading_whitespace)) == no_whitespace);
|
||||
|
@@ -83,12 +83,12 @@ namespace {
|
||||
|
||||
} // end unnamed namespace
|
||||
|
||||
static_assert( std::is_constructible<Catch::Detail::unique_ptr<base>,
|
||||
Catch::Detail::unique_ptr<derived>>::value, "Upcasting is supported");
|
||||
static_assert(!std::is_constructible<Catch::Detail::unique_ptr<derived>,
|
||||
Catch::Detail::unique_ptr<base>>::value, "Downcasting is not supported");
|
||||
static_assert(!std::is_constructible<Catch::Detail::unique_ptr<base>,
|
||||
Catch::Detail::unique_ptr<unrelated>>::value, "Cannot just convert one ptr type to another");
|
||||
static_assert( std::is_constructible_v<Catch::Detail::unique_ptr<base>,
|
||||
Catch::Detail::unique_ptr<derived>>, "Upcasting is supported");
|
||||
static_assert(!std::is_constructible_v<Catch::Detail::unique_ptr<derived>,
|
||||
Catch::Detail::unique_ptr<base>>, "Downcasting is not supported");
|
||||
static_assert(!std::is_constructible_v<Catch::Detail::unique_ptr<base>,
|
||||
Catch::Detail::unique_ptr<unrelated>>, "Cannot just convert one ptr type to another");
|
||||
|
||||
TEST_CASE("Upcasting special member functions", "[internals][unique-ptr]") {
|
||||
using Catch::Detail::unique_ptr;
|
||||
|
@@ -194,15 +194,15 @@ TEST_CASE("#1403", "[compilation]") {
|
||||
}
|
||||
|
||||
TEST_CASE("Optionally static assertions", "[compilation]") {
|
||||
STATIC_REQUIRE( std::is_void<void>::value );
|
||||
STATIC_REQUIRE_FALSE( std::is_void<int>::value );
|
||||
STATIC_CHECK( std::is_void<void>::value );
|
||||
STATIC_CHECK_FALSE( std::is_void<int>::value );
|
||||
STATIC_REQUIRE( std::is_void_v<void> );
|
||||
STATIC_REQUIRE_FALSE( std::is_void_v<int> );
|
||||
STATIC_CHECK( std::is_void_v<void> );
|
||||
STATIC_CHECK_FALSE( std::is_void_v<int> );
|
||||
}
|
||||
|
||||
TEST_CASE("#1548", "[compilation]") {
|
||||
using namespace bar;
|
||||
REQUIRE(std::is_same<TypeList<int>, TypeList<int>>::value);
|
||||
REQUIRE(std::is_same_v<TypeList<int>, TypeList<int>>);
|
||||
}
|
||||
|
||||
// #925
|
||||
|
@@ -193,13 +193,13 @@ TEST_CASE("Generators -- adapters", "[generators][generic]") {
|
||||
TEST_CASE("Random generator", "[generators][approvals]") {
|
||||
SECTION("Infer int from integral arguments") {
|
||||
auto val = GENERATE(take(4, random(0, 1)));
|
||||
STATIC_REQUIRE(std::is_same<decltype(val), int>::value);
|
||||
STATIC_REQUIRE(std::is_same_v<decltype(val), int>);
|
||||
REQUIRE(0 <= val);
|
||||
REQUIRE(val <= 1);
|
||||
}
|
||||
SECTION("Infer double from double arguments") {
|
||||
auto val = GENERATE(take(4, random(0., 1.)));
|
||||
STATIC_REQUIRE(std::is_same<decltype(val), double>::value);
|
||||
STATIC_REQUIRE(std::is_same_v<decltype(val), double>);
|
||||
REQUIRE(0. <= val);
|
||||
REQUIRE(val < 1);
|
||||
}
|
||||
|
@@ -879,10 +879,10 @@ TEST_CASE( "Combining concrete matchers does not use templated matchers",
|
||||
using Catch::Matchers::StartsWith;
|
||||
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<decltype( StartsWith( "foo" ) ||
|
||||
std::is_same_v<decltype( StartsWith( "foo" ) ||
|
||||
( StartsWith( "bar" ) && EndsWith( "bar" ) &&
|
||||
!EndsWith( "foo" ) ) ),
|
||||
Catch::Matchers::Detail::MatchAnyOf<std::string>>::value );
|
||||
Catch::Matchers::Detail::MatchAnyOf<std::string>> );
|
||||
}
|
||||
|
||||
struct MatcherA : Catch::Matchers::MatcherGenericBase {
|
||||
@@ -910,25 +910,25 @@ struct MatcherD : Catch::Matchers::MatcherGenericBase {
|
||||
|
||||
TEST_CASE( "Combining only templated matchers", "[matchers][templated]" ) {
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<decltype( MatcherA() || MatcherB() ),
|
||||
std::is_same_v<decltype( MatcherA() || MatcherB() ),
|
||||
Catch::Matchers::Detail::
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB>>::value );
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB>> );
|
||||
|
||||
REQUIRE_THAT( 1, MatcherA() || MatcherB() );
|
||||
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<decltype( MatcherA() && MatcherB() ),
|
||||
std::is_same_v<decltype( MatcherA() && MatcherB() ),
|
||||
Catch::Matchers::Detail::
|
||||
MatchAllOfGeneric<MatcherA, MatcherB>>::value );
|
||||
MatchAllOfGeneric<MatcherA, MatcherB>> );
|
||||
|
||||
REQUIRE_THAT( 1, MatcherA() && MatcherB() );
|
||||
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<
|
||||
std::is_same_v<
|
||||
decltype( MatcherA() || !MatcherB() ),
|
||||
Catch::Matchers::Detail::MatchAnyOfGeneric<
|
||||
MatcherA,
|
||||
Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>>::value );
|
||||
Catch::Matchers::Detail::MatchNotOfGeneric<MatcherB>>> );
|
||||
|
||||
REQUIRE_THAT( 1, MatcherA() || !MatcherB() );
|
||||
}
|
||||
@@ -937,30 +937,29 @@ TEST_CASE( "Combining MatchAnyOfGeneric does not nest",
|
||||
"[matchers][templated]" ) {
|
||||
// MatchAnyOfGeneric LHS + some matcher RHS
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<
|
||||
std::is_same_v<
|
||||
decltype( ( MatcherA() || MatcherB() ) || MatcherC() ),
|
||||
Catch::Matchers::Detail::
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value );
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>> );
|
||||
|
||||
REQUIRE_THAT( 1, ( MatcherA() || MatcherB() ) || MatcherC() );
|
||||
|
||||
// some matcher LHS + MatchAnyOfGeneric RHS
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<
|
||||
std::is_same_v<
|
||||
decltype( MatcherA() || ( MatcherB() || MatcherC() ) ),
|
||||
Catch::Matchers::Detail::
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value );
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>> );
|
||||
|
||||
REQUIRE_THAT( 1, MatcherA() || ( MatcherB() || MatcherC() ) );
|
||||
|
||||
// MatchAnyOfGeneric LHS + MatchAnyOfGeneric RHS
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<
|
||||
std::is_same_v<
|
||||
decltype( ( MatcherA() || MatcherB() ) ||
|
||||
( MatcherC() || MatcherD() ) ),
|
||||
Catch::Matchers::Detail::
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>::
|
||||
value );
|
||||
MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>);
|
||||
|
||||
REQUIRE_THAT(
|
||||
1, ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) );
|
||||
@@ -970,30 +969,29 @@ TEST_CASE( "Combining MatchAllOfGeneric does not nest",
|
||||
"[matchers][templated]" ) {
|
||||
// MatchAllOfGeneric lhs + some matcher RHS
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<
|
||||
std::is_same_v<
|
||||
decltype( ( MatcherA() && MatcherB() ) && MatcherC() ),
|
||||
Catch::Matchers::Detail::
|
||||
MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value );
|
||||
MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>> );
|
||||
|
||||
REQUIRE_THAT( 1, ( MatcherA() && MatcherB() ) && MatcherC() );
|
||||
|
||||
// some matcher LHS + MatchAllOfGeneric RSH
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<
|
||||
std::is_same_v<
|
||||
decltype( MatcherA() && ( MatcherB() && MatcherC() ) ),
|
||||
Catch::Matchers::Detail::
|
||||
MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value );
|
||||
MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>> );
|
||||
|
||||
REQUIRE_THAT( 1, MatcherA() && ( MatcherB() && MatcherC() ) );
|
||||
|
||||
// MatchAllOfGeneric LHS + MatchAllOfGeneric RHS
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<
|
||||
std::is_same_v<
|
||||
decltype( ( MatcherA() && MatcherB() ) &&
|
||||
( MatcherC() && MatcherD() ) ),
|
||||
Catch::Matchers::Detail::
|
||||
MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>::
|
||||
value );
|
||||
MatchAllOfGeneric<MatcherA, MatcherB, MatcherC, MatcherD>>);
|
||||
|
||||
REQUIRE_THAT(
|
||||
1, ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) );
|
||||
@@ -1002,26 +1000,26 @@ TEST_CASE( "Combining MatchAllOfGeneric does not nest",
|
||||
TEST_CASE( "Combining MatchNotOfGeneric does not nest",
|
||||
"[matchers][templated]" ) {
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<
|
||||
std::is_same_v<
|
||||
decltype( !MatcherA() ),
|
||||
Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value );
|
||||
Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>> );
|
||||
|
||||
REQUIRE_THAT( 0, !MatcherA() );
|
||||
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<decltype( !!MatcherA() ), MatcherA const&>::value );
|
||||
std::is_same_v<decltype( !!MatcherA() ), MatcherA const&> );
|
||||
|
||||
REQUIRE_THAT( 1, !!MatcherA() );
|
||||
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<
|
||||
std::is_same_v<
|
||||
decltype( !!!MatcherA() ),
|
||||
Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>>::value );
|
||||
Catch::Matchers::Detail::MatchNotOfGeneric<MatcherA>> );
|
||||
|
||||
REQUIRE_THAT( 0, !!!MatcherA() );
|
||||
|
||||
STATIC_REQUIRE(
|
||||
std::is_same<decltype( !!!!MatcherA() ), MatcherA const&>::value );
|
||||
std::is_same_v<decltype( !!!!MatcherA() ), MatcherA const&> );
|
||||
|
||||
REQUIRE_THAT( 1, !!!!MatcherA() );
|
||||
}
|
||||
|
@@ -123,7 +123,7 @@ TEST_CASE("Basic use of the Empty range matcher", "[matchers][templated][empty]"
|
||||
REQUIRE_THAT(non_empty_vec, !IsEmpty());
|
||||
|
||||
std::list<std::list<std::list<int>>> inner_lists_are_empty;
|
||||
inner_lists_are_empty.push_back({});
|
||||
inner_lists_are_empty.emplace_back();
|
||||
REQUIRE_THAT(inner_lists_are_empty, !IsEmpty());
|
||||
REQUIRE_THAT(inner_lists_are_empty.front(), IsEmpty());
|
||||
}
|
||||
@@ -592,11 +592,6 @@ TEST_CASE("All/Any/None True matchers support types with ADL begin",
|
||||
}
|
||||
}
|
||||
|
||||
// Range loop iterating over range with different types for begin and end is a
|
||||
// C++17 feature, and GCC refuses to compile such code unless the lang mode is
|
||||
// set to C++17 or later.
|
||||
#if defined(CATCH_CPP17_OR_GREATER)
|
||||
|
||||
TEST_CASE( "The quantifier range matchers support types with different types returned from begin and end",
|
||||
"[matchers][templated][quantifiers][approvals]" ) {
|
||||
using Catch::Matchers::AllMatch;
|
||||
@@ -656,8 +651,6 @@ TEST_CASE( "RangeContains supports ranges with different types returned from "
|
||||
REQUIRE_THAT( diff_types, Contains( LessThanMatcher( size_t( 4 ) ) ) );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
TEST_CASE( "Usage of RangeEquals range matcher", "[matchers][templated][quantifiers]" ) {
|
||||
using Catch::Matchers::RangeEquals;
|
||||
|
||||
@@ -849,8 +842,8 @@ static constexpr bool ContainerIsRandomAccess( const Container& ) {
|
||||
using array_iter_category = typename std::iterator_traits<
|
||||
typename Container::iterator>::iterator_category;
|
||||
|
||||
return std::is_base_of<std::random_access_iterator_tag,
|
||||
array_iter_category>::value;
|
||||
return std::is_base_of_v<std::random_access_iterator_tag,
|
||||
array_iter_category>;
|
||||
}
|
||||
|
||||
TEST_CASE( "Type conversions of RangeEquals and similar",
|
||||
@@ -933,4 +926,4 @@ TEST_CASE( "Type conversions of RangeEquals and similar",
|
||||
UnorderedRangeEquals( array_a_plus_1, close_enough ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -389,13 +389,13 @@ TEMPLATE_PRODUCT_TEST_CASE_SIG("A Template product test case with array signatur
|
||||
}
|
||||
|
||||
TEMPLATE_PRODUCT_TEST_CASE("Product with differing arities", "[template][product]", std::tuple, (int, (int, double), (int, double, float))) {
|
||||
REQUIRE(std::tuple_size<TestType>::value >= 1);
|
||||
REQUIRE(std::tuple_size_v<TestType> >= 1);
|
||||
}
|
||||
|
||||
using MyTypes = std::tuple<int, char, float>;
|
||||
TEMPLATE_LIST_TEST_CASE("Template test case with test types specified inside std::tuple", "[template][list]", MyTypes)
|
||||
{
|
||||
REQUIRE(std::is_arithmetic<TestType>::value);
|
||||
REQUIRE(std::is_arithmetic_v<TestType>);
|
||||
}
|
||||
|
||||
struct NonDefaultConstructibleType {
|
||||
@@ -405,7 +405,7 @@ struct NonDefaultConstructibleType {
|
||||
using MyNonDefaultConstructibleTypes = std::tuple<NonDefaultConstructibleType, float>;
|
||||
TEMPLATE_LIST_TEST_CASE("Template test case with test types specified inside non-default-constructible std::tuple", "[template][list]", MyNonDefaultConstructibleTypes)
|
||||
{
|
||||
REQUIRE(std::is_trivially_copyable<TestType>::value);
|
||||
REQUIRE(std::is_trivially_copyable_v<TestType>);
|
||||
}
|
||||
|
||||
struct NonCopyableAndNonMovableType {
|
||||
@@ -420,7 +420,7 @@ struct NonCopyableAndNonMovableType {
|
||||
using NonCopyableAndNonMovableTypes = std::tuple<NonCopyableAndNonMovableType, float>;
|
||||
TEMPLATE_LIST_TEST_CASE("Template test case with test types specified inside non-copyable and non-movable std::tuple", "[template][list]", NonCopyableAndNonMovableTypes)
|
||||
{
|
||||
REQUIRE(std::is_default_constructible<TestType>::value);
|
||||
REQUIRE(std::is_default_constructible_v<TestType>);
|
||||
}
|
||||
|
||||
// https://github.com/philsquared/Catch/issues/166
|
||||
|
@@ -8,8 +8,6 @@
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#if defined(CATCH_CONFIG_CPP17_BYTE)
|
||||
|
||||
TEST_CASE( "std::byte -> toString", "[toString][byte][approvals]" ) {
|
||||
using type = std::byte;
|
||||
REQUIRE( "0" == ::Catch::Detail::stringify( type{ 0 } ) );
|
||||
@@ -19,5 +17,3 @@ TEST_CASE( "std::vector<std::byte> -> toString", "[toString][byte][approvals]" )
|
||||
using type = std::vector<std::byte>;
|
||||
REQUIRE( "{ 0, 1, 2 }" == ::Catch::Detail::stringify( type{ std::byte{0}, std::byte{1}, std::byte{2} } ) );
|
||||
}
|
||||
|
||||
#endif // CATCH_INTERNAL_CONFIG_CPP17_BYTE
|
||||
|
@@ -106,8 +106,6 @@ TEST_CASE("Static arrays are convertible to string", "[toString]") {
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CATCH_CONFIG_CPP17_STRING_VIEW
|
||||
|
||||
TEST_CASE("String views are stringified like other strings", "[toString][approvals]") {
|
||||
std::string_view view{"abc"};
|
||||
CHECK(Catch::Detail::stringify(view) == R"("abc")");
|
||||
@@ -116,8 +114,6 @@ TEST_CASE("String views are stringified like other strings", "[toString][approva
|
||||
CHECK(Catch::Detail::stringify(arr) == R"({ "abc" })");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
TEST_CASE("Precision of floating point stringification can be set", "[toString][floatingPoint]") {
|
||||
SECTION("Floats") {
|
||||
using sm = Catch::StringMaker<float>;
|
||||
|
@@ -9,8 +9,6 @@
|
||||
#define CATCH_CONFIG_ENABLE_OPTIONAL_STRINGMAKER
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#if defined(CATCH_CONFIG_CPP17_OPTIONAL)
|
||||
|
||||
TEST_CASE( "std::optional<int> -> toString", "[toString][optional][approvals]" ) {
|
||||
using type = std::optional<int>;
|
||||
REQUIRE( "{ }" == ::Catch::Detail::stringify( type{} ) );
|
||||
@@ -31,5 +29,3 @@ TEST_CASE( "std::vector<std::optional<int> > -> toString", "[toString][optional]
|
||||
TEST_CASE( "std::nullopt -> toString", "[toString][optional][approvals]" ) {
|
||||
REQUIRE( "{ }" == ::Catch::Detail::stringify( std::nullopt ) );
|
||||
}
|
||||
|
||||
#endif // CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL
|
||||
|
@@ -21,7 +21,7 @@ TEST_CASE( "std::pair<int,const std::string> -> toString", "[toString][pair]" )
|
||||
|
||||
TEST_CASE( "std::vector<std::pair<std::string,int> > -> toString", "[toString][pair]" ) {
|
||||
std::vector<std::pair<std::string,int> > pr;
|
||||
pr.push_back( std::make_pair("green", 55 ) );
|
||||
pr.emplace_back( "green", 55 );
|
||||
REQUIRE( ::Catch::Detail::stringify( pr ) == "{ { \"green\", 55 } }" );
|
||||
}
|
||||
|
||||
|
@@ -9,8 +9,6 @@
|
||||
#define CATCH_CONFIG_ENABLE_VARIANT_STRINGMAKER
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#if defined(CATCH_CONFIG_CPP17_VARIANT)
|
||||
|
||||
#include <string>
|
||||
#include <variant>
|
||||
|
||||
@@ -95,5 +93,3 @@ TEST_CASE( "variant<nullptr,int,const char *>", "[toString][variant][approvals]"
|
||||
CHECK( "42" == ::Catch::Detail::stringify(type{42}) );
|
||||
CHECK( "\"Catch me\"" == ::Catch::Detail::stringify(type{"Catch me"}) );
|
||||
}
|
||||
|
||||
#endif // CATCH_INTERNAL_CONFIG_CPP17_VARIANT
|
||||
|
@@ -20,7 +20,7 @@ struct ZeroLiteralAsPointer {
|
||||
constexpr ZeroLiteralAsPointer( ZeroLiteralAsPointer* ) noexcept {}
|
||||
|
||||
template <typename T,
|
||||
typename = std::enable_if_t<!std::is_same<T, int>::value>>
|
||||
typename = std::enable_if_t<!std::is_same_v<T, int>>>
|
||||
constexpr ZeroLiteralAsPointer( T ) = delete;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user