mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-30 17:23:29 +01:00
9500ded83b
* Successive executions of the same `GENERATE` macro (e.g. because of a for loop) no longer lead to multiple nested generators. * The same line can now contain multiple `GENERATE` macros without issues. Fixes #1913
495 lines
16 KiB
Plaintext
495 lines
16 KiB
Plaintext
Filters: ~[!nonportable]~[!benchmark]~[approvals]
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
<exe-name> is a <version> host application.
|
|
Run with -? for options
|
|
|
|
Randomness seeded to: 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
# A test name that starts with a #
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
yay
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1005: Comparing pointer to int and long (NULL can be either on various
|
|
systems)
|
|
-------------------------------------------------------------------------------
|
|
Decomposition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Decomposition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( fptr == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Decomposition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( fptr == 0l )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1027
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( y.v == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == y.v )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1027: Bitfields can be captured
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( y.v == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == y.v )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1147
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 == t2 )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 != t2 )
|
|
with expansion:
|
|
{?} != {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 < t2 )
|
|
with expansion:
|
|
{?} < {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 > t2 )
|
|
with expansion:
|
|
{?} > {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 <= t2 )
|
|
with expansion:
|
|
{?} <= {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 >= t2 )
|
|
with expansion:
|
|
{?} >= {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1175 - Hidden Test
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1238
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::memcmp(uarr, "123", sizeof(uarr)) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
with messages:
|
|
uarr := "123"
|
|
sarr := "456"
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::memcmp(sarr, "456", sizeof(sarr)) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
with messages:
|
|
uarr := "123"
|
|
sarr := "456"
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1245
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1403
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( h1 == h2 )
|
|
with expansion:
|
|
[1403 helper] == [1403 helper]
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1455 - INFO and WARN can start with a linebreak
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: warning:
|
|
|
|
This info message starts with a linebreak
|
|
|
|
This warning message starts with a linebreak
|
|
|
|
|
|
No assertions in test case '#1455 - INFO and WARN can start with a linebreak'
|
|
|
|
This would not be caught previously
|
|
Nor would this
|
|
-------------------------------------------------------------------------------
|
|
#1514: stderr/stdout is not captured in tests aborted by an exception
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
1514
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1548
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::is_same<TypeList<int>, TypeList<int>>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1905 -- test spec parser properly clears internal state between compound tests
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase("spec . char")) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase("spec , char")) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( spec.matches(fakeTestCase(R"(spec \, char)")) )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1912 -- test spec parser handles escaping
|
|
Various parentheses
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase(R"(spec {a} char)")) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase(R"(spec [a] char)")) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( spec.matches(fakeTestCase("differs but has similar tag", "[a]")) )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1912 -- test spec parser handles escaping
|
|
backslash in test name
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase(R"(spec \ char)")) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATE inside a for loop should not keep recreating the generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( counter < 7 )
|
|
with expansion:
|
|
3 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATE inside a for loop should not keep recreating the generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( counter < 7 )
|
|
with expansion:
|
|
6 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATEs can share a line
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i != j )
|
|
with expansion:
|
|
1 != 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATEs can share a line
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i != j )
|
|
with expansion:
|
|
1 != 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATEs can share a line
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i != j )
|
|
with expansion:
|
|
2 != 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATEs can share a line
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i != j )
|
|
with expansion:
|
|
2 != 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
#748 - captures with unexpected exceptions
|
|
outside assertions
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with messages:
|
|
answer := 42
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
#748 - captures with unexpected exceptions
|
|
inside REQUIRE_NOTHROW
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_NOTHROW( thisThrows() )
|
|
due to unexpected exception with messages:
|
|
answer := 42
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
#748 - captures with unexpected exceptions
|
|
inside REQUIRE_THROWS
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( thisThrows() )
|
|
with message:
|
|
answer := 42
|
|
|
|
-------------------------------------------------------------------------------
|
|
#809
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 42 == f )
|
|
with expansion:
|
|
42 == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
#833
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a == t )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
CHECK( a == t )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( throws_int(true) )
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
CHECK_THROWS_AS( throws_int(true), int )
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( throws_int(false) )
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( "aaa", Catch::EndsWith("aaa") )
|
|
with expansion:
|
|
"aaa" ends with: "aaa"
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( templated_tests<int>(3) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
#835 -- errno should not be touched by Catch
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( f() == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( errno == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
#872
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x == 4 )
|
|
with expansion:
|
|
{?} == 4
|
|
with message:
|
|
dummy := 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 2
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 3
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
'Not' checks that should fail
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( false != false )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( true != true )
|
|
|
|
===============================================================================
|
|
test cases: 23 | 18 passed | 3 failed | 2 failed as expected
|
|
assertions: 55 | 48 passed | 4 failed | 3 failed as expected
|
|
|