Refactor tests

This commit is contained in:
Martin Hořeňovský 2022-03-31 22:30:38 +02:00
parent 6206db5a73
commit 797c3e7318
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A
18 changed files with 494 additions and 413 deletions

View File

@ -155,6 +155,10 @@ Nor would this
:test-result: PASS Generators -- simple :test-result: PASS Generators -- simple
:test-result: PASS Generators internals :test-result: PASS Generators internals
:test-result: PASS Greater-than inequalities with different epsilons :test-result: PASS Greater-than inequalities with different epsilons
:test-result: PASS Hashers with different seed produce different hash with same test case
:test-result: PASS Hashers with same seed produce same hash
:test-result: PASS Hashing different test cases produces different result
:test-result: PASS Hashing test case produces same hash across multiple calls
:test-result: FAIL INFO and WARN do not abort tests :test-result: FAIL INFO and WARN do not abort tests
:test-result: FAIL INFO gets logged on failure :test-result: FAIL INFO gets logged on failure
:test-result: FAIL INFO gets logged on failure, even if captured before successful assertions :test-result: FAIL INFO gets logged on failure, even if captured before successful assertions
@ -255,8 +259,6 @@ Message from section two
:test-result: PASS Test case with one argument :test-result: PASS Test case with one argument
:test-result: PASS Test enum bit values :test-result: PASS Test enum bit values
:test-result: PASS Test with special, characters "in name :test-result: PASS Test with special, characters "in name
:test-result: PASS TestCaseInfoHasher produces different hashes.
:test-result: PASS TestCaseInfoHasher produces equal hashes.
:test-result: PASS Testing checked-if :test-result: PASS Testing checked-if
:test-result: XFAIL Testing checked-if 2 :test-result: XFAIL Testing checked-if 2
:test-result: XFAIL Testing checked-if 3 :test-result: XFAIL Testing checked-if 3

View File

@ -153,6 +153,10 @@
:test-result: PASS Generators -- simple :test-result: PASS Generators -- simple
:test-result: PASS Generators internals :test-result: PASS Generators internals
:test-result: PASS Greater-than inequalities with different epsilons :test-result: PASS Greater-than inequalities with different epsilons
:test-result: PASS Hashers with different seed produce different hash with same test case
:test-result: PASS Hashers with same seed produce same hash
:test-result: PASS Hashing different test cases produces different result
:test-result: PASS Hashing test case produces same hash across multiple calls
:test-result: FAIL INFO and WARN do not abort tests :test-result: FAIL INFO and WARN do not abort tests
:test-result: FAIL INFO gets logged on failure :test-result: FAIL INFO gets logged on failure
:test-result: FAIL INFO gets logged on failure, even if captured before successful assertions :test-result: FAIL INFO gets logged on failure, even if captured before successful assertions
@ -248,8 +252,6 @@
:test-result: PASS Test case with one argument :test-result: PASS Test case with one argument
:test-result: PASS Test enum bit values :test-result: PASS Test enum bit values
:test-result: PASS Test with special, characters "in name :test-result: PASS Test with special, characters "in name
:test-result: PASS TestCaseInfoHasher produces different hashes.
:test-result: PASS TestCaseInfoHasher produces equal hashes.
:test-result: PASS Testing checked-if :test-result: PASS Testing checked-if
:test-result: XFAIL Testing checked-if 2 :test-result: XFAIL Testing checked-if 2
:test-result: XFAIL Testing checked-if 3 :test-result: XFAIL Testing checked-if 3

View File

@ -916,6 +916,24 @@ Approx.tests.cpp:<line number>: passed: d >= Approx( 1.22 ) for: 1.23 >= Approx(
Approx.tests.cpp:<line number>: passed: d >= Approx( 1.23 ) for: 1.23 >= Approx( 1.23 ) Approx.tests.cpp:<line number>: passed: d >= Approx( 1.23 ) for: 1.23 >= Approx( 1.23 )
Approx.tests.cpp:<line number>: passed: !(d >= Approx( 1.24 )) for: !(1.23 >= Approx( 1.24 )) Approx.tests.cpp:<line number>: passed: !(d >= Approx( 1.24 )) for: !(1.23 >= Approx( 1.24 ))
Approx.tests.cpp:<line number>: passed: d >= Approx( 1.24 ).epsilon(0.1) for: 1.23 >= Approx( 1.24 ) Approx.tests.cpp:<line number>: passed: d >= Approx( 1.24 ).epsilon(0.1) for: 1.23 >= Approx( 1.24 )
TestCaseInfoHasher.tests.cpp:<line number>: passed: h1( dummy ) != h2( dummy ) for: 3422778688 (0x<hex digits>)
!=
130711275 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h1( dummy ) == h2( dummy ) for: 3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h( dummy1 ) != h( dummy2 ) for: 2903002874 (0x<hex digits>)
!=
2668622104 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h( dummy1 ) != h( dummy2 ) for: 2673152918 (0x<hex digits>)
!=
3916075712 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h( dummy1 ) != h( dummy2 ) for: 2074929312 (0x<hex digits>)
!=
3429949824 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h( dummy ) == h( dummy ) for: 3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
Message.tests.cpp:<line number>: warning: 'this is a message' with 1 message: 'this is a warning' Message.tests.cpp:<line number>: warning: 'this is a message' with 1 message: 'this is a warning'
Message.tests.cpp:<line number>: failed: a == 1 for: 2 == 1 with 2 messages: 'this message should be logged' and 'so should this' Message.tests.cpp:<line number>: failed: a == 1 for: 2 == 1 with 2 messages: 'this message should be logged' and 'so should this'
Message.tests.cpp:<line number>: passed: a == 2 for: 2 == 2 with 1 message: 'this message may be logged later' Message.tests.cpp:<line number>: passed: a == 2 for: 2 == 2 with 1 message: 'this message may be logged later'
@ -1868,21 +1886,6 @@ Tag.tests.cpp:<line number>: passed: testCase.tags[0] == Tag( "tag1" ) for: {?}
VariadicMacros.tests.cpp:<line number>: passed: with 1 message: 'no assertions' VariadicMacros.tests.cpp:<line number>: passed: with 1 message: 'no assertions'
Tricky.tests.cpp:<line number>: passed: 0x<hex digits> == bit30and31 for: 3221225472 (0x<hex digits>) == 3221225472 Tricky.tests.cpp:<line number>: passed: 0x<hex digits> == bit30and31 for: 3221225472 (0x<hex digits>) == 3221225472
CmdLine.tests.cpp:<line number>: passed: CmdLine.tests.cpp:<line number>: passed:
TestCaseInfoHasher.tests.cpp:<line number>: passed: hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 764519552 (0x<hex digits>)
!=
3472848544 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 869111496 (0x<hex digits>)
!=
2870097333 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 1172537240 (0x<hex digits>)
!=
1403724645 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h1(testCase1) != h2(testCase2) for: 1836497244 (0x<hex digits>)
!=
430288597 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: hasherWithCustomSeed(testCase1) == hasherWithCustomSeed(testCase2) for: 764519552 (0x<hex digits>)
==
764519552 (0x<hex digits>)
Misc.tests.cpp:<line number>: passed: true Misc.tests.cpp:<line number>: passed: true
Misc.tests.cpp:<line number>: passed: Misc.tests.cpp:<line number>: passed:
Misc.tests.cpp:<line number>: failed - but was ok: false Misc.tests.cpp:<line number>: failed - but was ok: false

View File

@ -914,6 +914,24 @@ Approx.tests.cpp:<line number>: passed: d >= Approx( 1.22 ) for: 1.23 >= Approx(
Approx.tests.cpp:<line number>: passed: d >= Approx( 1.23 ) for: 1.23 >= Approx( 1.23 ) Approx.tests.cpp:<line number>: passed: d >= Approx( 1.23 ) for: 1.23 >= Approx( 1.23 )
Approx.tests.cpp:<line number>: passed: !(d >= Approx( 1.24 )) for: !(1.23 >= Approx( 1.24 )) Approx.tests.cpp:<line number>: passed: !(d >= Approx( 1.24 )) for: !(1.23 >= Approx( 1.24 ))
Approx.tests.cpp:<line number>: passed: d >= Approx( 1.24 ).epsilon(0.1) for: 1.23 >= Approx( 1.24 ) Approx.tests.cpp:<line number>: passed: d >= Approx( 1.24 ).epsilon(0.1) for: 1.23 >= Approx( 1.24 )
TestCaseInfoHasher.tests.cpp:<line number>: passed: h1( dummy ) != h2( dummy ) for: 3422778688 (0x<hex digits>)
!=
130711275 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h1( dummy ) == h2( dummy ) for: 3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h( dummy1 ) != h( dummy2 ) for: 2903002874 (0x<hex digits>)
!=
2668622104 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h( dummy1 ) != h( dummy2 ) for: 2673152918 (0x<hex digits>)
!=
3916075712 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h( dummy1 ) != h( dummy2 ) for: 2074929312 (0x<hex digits>)
!=
3429949824 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h( dummy ) == h( dummy ) for: 3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
Message.tests.cpp:<line number>: warning: 'this is a message' with 1 message: 'this is a warning' Message.tests.cpp:<line number>: warning: 'this is a message' with 1 message: 'this is a warning'
Message.tests.cpp:<line number>: failed: a == 1 for: 2 == 1 with 2 messages: 'this message should be logged' and 'so should this' Message.tests.cpp:<line number>: failed: a == 1 for: 2 == 1 with 2 messages: 'this message should be logged' and 'so should this'
Message.tests.cpp:<line number>: passed: a == 2 for: 2 == 2 with 1 message: 'this message may be logged later' Message.tests.cpp:<line number>: passed: a == 2 for: 2 == 2 with 1 message: 'this message may be logged later'
@ -1861,21 +1879,6 @@ Tag.tests.cpp:<line number>: passed: testCase.tags[0] == Tag( "tag1" ) for: {?}
VariadicMacros.tests.cpp:<line number>: passed: with 1 message: 'no assertions' VariadicMacros.tests.cpp:<line number>: passed: with 1 message: 'no assertions'
Tricky.tests.cpp:<line number>: passed: 0x<hex digits> == bit30and31 for: 3221225472 (0x<hex digits>) == 3221225472 Tricky.tests.cpp:<line number>: passed: 0x<hex digits> == bit30and31 for: 3221225472 (0x<hex digits>) == 3221225472
CmdLine.tests.cpp:<line number>: passed: CmdLine.tests.cpp:<line number>: passed:
TestCaseInfoHasher.tests.cpp:<line number>: passed: hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 764519552 (0x<hex digits>)
!=
3472848544 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 869111496 (0x<hex digits>)
!=
2870097333 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 1172537240 (0x<hex digits>)
!=
1403724645 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: h1(testCase1) != h2(testCase2) for: 1836497244 (0x<hex digits>)
!=
430288597 (0x<hex digits>)
TestCaseInfoHasher.tests.cpp:<line number>: passed: hasherWithCustomSeed(testCase1) == hasherWithCustomSeed(testCase2) for: 764519552 (0x<hex digits>)
==
764519552 (0x<hex digits>)
Misc.tests.cpp:<line number>: passed: true Misc.tests.cpp:<line number>: passed: true
Misc.tests.cpp:<line number>: passed: Misc.tests.cpp:<line number>: passed:
Misc.tests.cpp:<line number>: failed - but was ok: false Misc.tests.cpp:<line number>: failed - but was ok: false

View File

@ -1395,6 +1395,6 @@ due to unexpected exception with message:
Why would you throw a std::string? Why would you throw a std::string?
=============================================================================== ===============================================================================
test cases: 388 | 312 passed | 69 failed | 7 failed as expected test cases: 390 | 314 passed | 69 failed | 7 failed as expected
assertions: 2224 | 2069 passed | 128 failed | 27 failed as expected assertions: 2225 | 2070 passed | 128 failed | 27 failed as expected

View File

@ -6832,6 +6832,87 @@ Approx.tests.cpp:<line number>: PASSED:
with expansion: with expansion:
1.23 >= Approx( 1.24 ) 1.23 >= Approx( 1.24 )
-------------------------------------------------------------------------------
Hashers with different seed produce different hash with same test case
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h1( dummy ) != h2( dummy ) )
with expansion:
3422778688 (0x<hex digits>)
!=
130711275 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashers with same seed produce same hash
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h1( dummy ) == h2( dummy ) )
with expansion:
3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashing different test cases produces different result
Different test name
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h( dummy1 ) != h( dummy2 ) )
with expansion:
2903002874 (0x<hex digits>)
!=
2668622104 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashing different test cases produces different result
Different classname
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h( dummy1 ) != h( dummy2 ) )
with expansion:
2673152918 (0x<hex digits>)
!=
3916075712 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashing different test cases produces different result
Different tags
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h( dummy1 ) != h( dummy2 ) )
with expansion:
2074929312 (0x<hex digits>)
!=
3429949824 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashing test case produces same hash across multiple calls
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h( dummy ) == h( dummy ) )
with expansion:
3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
INFO and WARN do not abort tests INFO and WARN do not abort tests
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
@ -13286,76 +13367,6 @@ CmdLine.tests.cpp:<line number>
CmdLine.tests.cpp:<line number>: PASSED: CmdLine.tests.cpp:<line number>: PASSED:
-------------------------------------------------------------------------------
TestCaseInfoHasher produces different hashes.
class names are equal, names are equal but tags are different.
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) )
with expansion:
764519552 (0x<hex digits>)
!=
3472848544 (0x<hex digits>)
-------------------------------------------------------------------------------
TestCaseInfoHasher produces different hashes.
class names are equal, tags are equal but names are different
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) )
with expansion:
869111496 (0x<hex digits>)
!=
2870097333 (0x<hex digits>)
-------------------------------------------------------------------------------
TestCaseInfoHasher produces different hashes.
names are equal, tags are equal but class names are different
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) )
with expansion:
1172537240 (0x<hex digits>)
!=
1403724645 (0x<hex digits>)
-------------------------------------------------------------------------------
TestCaseInfoHasher produces different hashes.
class names and names and tags are equal but hashers are seeded differently.
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( h1(testCase1) != h2(testCase2) )
with expansion:
1836497244 (0x<hex digits>)
!=
430288597 (0x<hex digits>)
-------------------------------------------------------------------------------
TestCaseInfoHasher produces equal hashes.
class names and names and tags are equal.
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( hasherWithCustomSeed(testCase1) == hasherWithCustomSeed(testCase2) )
with expansion:
764519552 (0x<hex digits>)
==
764519552 (0x<hex digits>)
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Testing checked-if Testing checked-if
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
@ -17941,6 +17952,6 @@ Misc.tests.cpp:<line number>
Misc.tests.cpp:<line number>: PASSED: Misc.tests.cpp:<line number>: PASSED:
=============================================================================== ===============================================================================
test cases: 388 | 298 passed | 83 failed | 7 failed as expected test cases: 390 | 300 passed | 83 failed | 7 failed as expected
assertions: 2239 | 2069 passed | 143 failed | 27 failed as expected assertions: 2240 | 2070 passed | 143 failed | 27 failed as expected

View File

@ -6830,6 +6830,87 @@ Approx.tests.cpp:<line number>: PASSED:
with expansion: with expansion:
1.23 >= Approx( 1.24 ) 1.23 >= Approx( 1.24 )
-------------------------------------------------------------------------------
Hashers with different seed produce different hash with same test case
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h1( dummy ) != h2( dummy ) )
with expansion:
3422778688 (0x<hex digits>)
!=
130711275 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashers with same seed produce same hash
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h1( dummy ) == h2( dummy ) )
with expansion:
3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashing different test cases produces different result
Different test name
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h( dummy1 ) != h( dummy2 ) )
with expansion:
2903002874 (0x<hex digits>)
!=
2668622104 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashing different test cases produces different result
Different classname
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h( dummy1 ) != h( dummy2 ) )
with expansion:
2673152918 (0x<hex digits>)
!=
3916075712 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashing different test cases produces different result
Different tags
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h( dummy1 ) != h( dummy2 ) )
with expansion:
2074929312 (0x<hex digits>)
!=
3429949824 (0x<hex digits>)
-------------------------------------------------------------------------------
Hashing test case produces same hash across multiple calls
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
REQUIRE( h( dummy ) == h( dummy ) )
with expansion:
3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
INFO and WARN do not abort tests INFO and WARN do not abort tests
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
@ -13279,76 +13360,6 @@ CmdLine.tests.cpp:<line number>
CmdLine.tests.cpp:<line number>: PASSED: CmdLine.tests.cpp:<line number>: PASSED:
-------------------------------------------------------------------------------
TestCaseInfoHasher produces different hashes.
class names are equal, names are equal but tags are different.
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) )
with expansion:
764519552 (0x<hex digits>)
!=
3472848544 (0x<hex digits>)
-------------------------------------------------------------------------------
TestCaseInfoHasher produces different hashes.
class names are equal, tags are equal but names are different
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) )
with expansion:
869111496 (0x<hex digits>)
!=
2870097333 (0x<hex digits>)
-------------------------------------------------------------------------------
TestCaseInfoHasher produces different hashes.
names are equal, tags are equal but class names are different
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) )
with expansion:
1172537240 (0x<hex digits>)
!=
1403724645 (0x<hex digits>)
-------------------------------------------------------------------------------
TestCaseInfoHasher produces different hashes.
class names and names and tags are equal but hashers are seeded differently.
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( h1(testCase1) != h2(testCase2) )
with expansion:
1836497244 (0x<hex digits>)
!=
430288597 (0x<hex digits>)
-------------------------------------------------------------------------------
TestCaseInfoHasher produces equal hashes.
class names and names and tags are equal.
-------------------------------------------------------------------------------
TestCaseInfoHasher.tests.cpp:<line number>
...............................................................................
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
CHECK( hasherWithCustomSeed(testCase1) == hasherWithCustomSeed(testCase2) )
with expansion:
764519552 (0x<hex digits>)
==
764519552 (0x<hex digits>)
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Testing checked-if Testing checked-if
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
@ -17933,6 +17944,6 @@ Misc.tests.cpp:<line number>
Misc.tests.cpp:<line number>: PASSED: Misc.tests.cpp:<line number>: PASSED:
=============================================================================== ===============================================================================
test cases: 388 | 298 passed | 83 failed | 7 failed as expected test cases: 390 | 300 passed | 83 failed | 7 failed as expected
assertions: 2239 | 2069 passed | 143 failed | 27 failed as expected assertions: 2240 | 2070 passed | 143 failed | 27 failed as expected

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<testsuitesloose text artifact <testsuitesloose text artifact
> >
<testsuite name="<exe-name>" errors="17" failures="126" tests="2239" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> <testsuite name="<exe-name>" errors="17" failures="126" tests="2240" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<properties> <properties>
<property name="random-seed" value="1"/> <property name="random-seed" value="1"/>
<property name="filters" value="~[!nonportable]~[!benchmark]~[approvals] *"/> <property name="filters" value="~[!nonportable]~[!benchmark]~[approvals] *"/>
@ -728,6 +728,12 @@ Message.tests.cpp:<line number>
<testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly over end" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly over end" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly under end" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly under end" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Greater-than inequalities with different epsilons" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Greater-than inequalities with different epsilons" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashers with different seed produce different hash with same test case" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashers with same seed produce same hash" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashing different test cases produces different result/Different test name" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashing different test cases produces different result/Different classname" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashing different test cases produces different result/Different tags" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashing test case produces same hash across multiple calls" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="INFO and WARN do not abort tests" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="INFO and WARN do not abort tests" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="INFO gets logged on failure" time="{duration}" status="run"> <testcase classname="<exe-name>.global" name="INFO gets logged on failure" time="{duration}" status="run">
<failure message="a == 1" type="REQUIRE"> <failure message="a == 1" type="REQUIRE">
@ -1355,11 +1361,6 @@ Misc.tests.cpp:<line number>
<testcase classname="<exe-name>.global" name="Test case with one argument" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Test case with one argument" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Test enum bit values" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Test enum bit values" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Test with special, characters &quot;in name" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Test with special, characters &quot;in name" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces different hashes./class names are equal, names are equal but tags are different." time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces different hashes./class names are equal, tags are equal but names are different" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces different hashes./names are equal, tags are equal but class names are different" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces different hashes./class names and names and tags are equal but hashers are seeded differently." time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces equal hashes./class names and names and tags are equal." time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Testing checked-if" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Testing checked-if" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Testing checked-if 2" time="{duration}" status="run"> <testcase classname="<exe-name>.global" name="Testing checked-if 2" time="{duration}" status="run">
<skipped message="TEST_CASE tagged with !mayfail"/> <skipped message="TEST_CASE tagged with !mayfail"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<testsuites> <testsuites>
<testsuite name="<exe-name>" errors="17" failures="126" tests="2239" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> <testsuite name="<exe-name>" errors="17" failures="126" tests="2240" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
<properties> <properties>
<property name="random-seed" value="1"/> <property name="random-seed" value="1"/>
<property name="filters" value="~[!nonportable]~[!benchmark]~[approvals] *"/> <property name="filters" value="~[!nonportable]~[!benchmark]~[approvals] *"/>
@ -727,6 +727,12 @@ Message.tests.cpp:<line number>
<testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly over end" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly over end" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly under end" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly under end" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Greater-than inequalities with different epsilons" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Greater-than inequalities with different epsilons" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashers with different seed produce different hash with same test case" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashers with same seed produce same hash" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashing different test cases produces different result/Different test name" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashing different test cases produces different result/Different classname" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashing different test cases produces different result/Different tags" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Hashing test case produces same hash across multiple calls" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="INFO and WARN do not abort tests" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="INFO and WARN do not abort tests" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="INFO gets logged on failure" time="{duration}" status="run"> <testcase classname="<exe-name>.global" name="INFO gets logged on failure" time="{duration}" status="run">
<failure message="a == 1" type="REQUIRE"> <failure message="a == 1" type="REQUIRE">
@ -1354,11 +1360,6 @@ Misc.tests.cpp:<line number>
<testcase classname="<exe-name>.global" name="Test case with one argument" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Test case with one argument" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Test enum bit values" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Test enum bit values" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Test with special, characters &quot;in name" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Test with special, characters &quot;in name" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces different hashes./class names are equal, names are equal but tags are different." time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces different hashes./class names are equal, tags are equal but names are different" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces different hashes./names are equal, tags are equal but class names are different" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces different hashes./class names and names and tags are equal but hashers are seeded differently." time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="TestCaseInfoHasher produces equal hashes./class names and names and tags are equal." time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Testing checked-if" time="{duration}" status="run"/> <testcase classname="<exe-name>.global" name="Testing checked-if" time="{duration}" status="run"/>
<testcase classname="<exe-name>.global" name="Testing checked-if 2" time="{duration}" status="run"> <testcase classname="<exe-name>.global" name="Testing checked-if 2" time="{duration}" status="run">
<skipped message="TEST_CASE tagged with !mayfail"/> <skipped message="TEST_CASE tagged with !mayfail"/>

View File

@ -274,11 +274,12 @@
<testCase name="tags with dots in later positions are not parsed as hidden" duration="{duration}"/> <testCase name="tags with dots in later positions are not parsed as hidden" duration="{duration}"/>
</file> </file>
<file path="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp"> <file path="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp">
<testCase name="TestCaseInfoHasher produces different hashes./class names are equal, names are equal but tags are different." duration="{duration}"/> <testCase name="Hashers with different seed produce different hash with same test case" duration="{duration}"/>
<testCase name="TestCaseInfoHasher produces different hashes./class names are equal, tags are equal but names are different" duration="{duration}"/> <testCase name="Hashers with same seed produce same hash" duration="{duration}"/>
<testCase name="TestCaseInfoHasher produces different hashes./names are equal, tags are equal but class names are different" duration="{duration}"/> <testCase name="Hashing different test cases produces different result/Different test name" duration="{duration}"/>
<testCase name="TestCaseInfoHasher produces different hashes./class names and names and tags are equal but hashers are seeded differently." duration="{duration}"/> <testCase name="Hashing different test cases produces different result/Different classname" duration="{duration}"/>
<testCase name="TestCaseInfoHasher produces equal hashes./class names and names and tags are equal." duration="{duration}"/> <testCase name="Hashing different test cases produces different result/Different tags" duration="{duration}"/>
<testCase name="Hashing test case produces same hash across multiple calls" duration="{duration}"/>
</file> </file>
<file path="tests/<exe-name>/IntrospectiveTests/TestSpecParser.tests.cpp"> <file path="tests/<exe-name>/IntrospectiveTests/TestSpecParser.tests.cpp">
<testCase name="Parsed tags are matched case insensitive" duration="{duration}"/> <testCase name="Parsed tags are matched case insensitive" duration="{duration}"/>

View File

@ -273,11 +273,12 @@
<testCase name="tags with dots in later positions are not parsed as hidden" duration="{duration}"/> <testCase name="tags with dots in later positions are not parsed as hidden" duration="{duration}"/>
</file> </file>
<file path="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp"> <file path="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp">
<testCase name="TestCaseInfoHasher produces different hashes./class names are equal, names are equal but tags are different." duration="{duration}"/> <testCase name="Hashers with different seed produce different hash with same test case" duration="{duration}"/>
<testCase name="TestCaseInfoHasher produces different hashes./class names are equal, tags are equal but names are different" duration="{duration}"/> <testCase name="Hashers with same seed produce same hash" duration="{duration}"/>
<testCase name="TestCaseInfoHasher produces different hashes./names are equal, tags are equal but class names are different" duration="{duration}"/> <testCase name="Hashing different test cases produces different result/Different test name" duration="{duration}"/>
<testCase name="TestCaseInfoHasher produces different hashes./class names and names and tags are equal but hashers are seeded differently." duration="{duration}"/> <testCase name="Hashing different test cases produces different result/Different classname" duration="{duration}"/>
<testCase name="TestCaseInfoHasher produces equal hashes./class names and names and tags are equal." duration="{duration}"/> <testCase name="Hashing different test cases produces different result/Different tags" duration="{duration}"/>
<testCase name="Hashing test case produces same hash across multiple calls" duration="{duration}"/>
</file> </file>
<file path="tests/<exe-name>/IntrospectiveTests/TestSpecParser.tests.cpp"> <file path="tests/<exe-name>/IntrospectiveTests/TestSpecParser.tests.cpp">
<testCase name="Parsed tags are matched case insensitive" duration="{duration}"/> <testCase name="Parsed tags are matched case insensitive" duration="{duration}"/>

View File

@ -1766,6 +1766,18 @@ ok {test-number} - d >= Approx( 1.23 ) for: 1.23 >= Approx( 1.23 )
ok {test-number} - !(d >= Approx( 1.24 )) for: !(1.23 >= Approx( 1.24 )) ok {test-number} - !(d >= Approx( 1.24 )) for: !(1.23 >= Approx( 1.24 ))
# Greater-than inequalities with different epsilons # Greater-than inequalities with different epsilons
ok {test-number} - d >= Approx( 1.24 ).epsilon(0.1) for: 1.23 >= Approx( 1.24 ) ok {test-number} - d >= Approx( 1.24 ).epsilon(0.1) for: 1.23 >= Approx( 1.24 )
# Hashers with different seed produce different hash with same test case
ok {test-number} - h1( dummy ) != h2( dummy ) for: 3422778688 (0x<hex digits>) != 130711275 (0x<hex digits>)
# Hashers with same seed produce same hash
ok {test-number} - h1( dummy ) == h2( dummy ) for: 3422778688 (0x<hex digits>) == 3422778688 (0x<hex digits>)
# Hashing different test cases produces different result
ok {test-number} - h( dummy1 ) != h( dummy2 ) for: 2903002874 (0x<hex digits>) != 2668622104 (0x<hex digits>)
# Hashing different test cases produces different result
ok {test-number} - h( dummy1 ) != h( dummy2 ) for: 2673152918 (0x<hex digits>) != 3916075712 (0x<hex digits>)
# Hashing different test cases produces different result
ok {test-number} - h( dummy1 ) != h( dummy2 ) for: 2074929312 (0x<hex digits>) != 3429949824 (0x<hex digits>)
# Hashing test case produces same hash across multiple calls
ok {test-number} - h( dummy ) == h( dummy ) for: 3422778688 (0x<hex digits>) == 3422778688 (0x<hex digits>)
# INFO and WARN do not abort tests # INFO and WARN do not abort tests
warning {test-number} - 'this is a message' with 1 message: 'this is a warning' warning {test-number} - 'this is a message' with 1 message: 'this is a warning'
# INFO gets logged on failure # INFO gets logged on failure
@ -3297,16 +3309,6 @@ ok {test-number} - with 1 message: 'no assertions'
ok {test-number} - 0x<hex digits> == bit30and31 for: 3221225472 (0x<hex digits>) == 3221225472 ok {test-number} - 0x<hex digits> == bit30and31 for: 3221225472 (0x<hex digits>) == 3221225472
# Test with special, characters "in name # Test with special, characters "in name
ok {test-number} - ok {test-number} -
# TestCaseInfoHasher produces different hashes.
ok {test-number} - hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 764519552 (0x<hex digits>) != 3472848544 (0x<hex digits>)
# TestCaseInfoHasher produces different hashes.
ok {test-number} - hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 869111496 (0x<hex digits>) != 2870097333 (0x<hex digits>)
# TestCaseInfoHasher produces different hashes.
ok {test-number} - hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 1172537240 (0x<hex digits>) != 1403724645 (0x<hex digits>)
# TestCaseInfoHasher produces different hashes.
ok {test-number} - h1(testCase1) != h2(testCase2) for: 1836497244 (0x<hex digits>) != 430288597 (0x<hex digits>)
# TestCaseInfoHasher produces equal hashes.
ok {test-number} - hasherWithCustomSeed(testCase1) == hasherWithCustomSeed(testCase2) for: 764519552 (0x<hex digits>) == 764519552 (0x<hex digits>)
# Testing checked-if # Testing checked-if
ok {test-number} - true ok {test-number} - true
# Testing checked-if # Testing checked-if
@ -4480,5 +4482,5 @@ ok {test-number} - q3 == 23. for: 23.0 == 23.0
ok {test-number} - ok {test-number} -
# xmlentitycheck # xmlentitycheck
ok {test-number} - ok {test-number} -
1..2239 1..2240

View File

@ -1764,6 +1764,18 @@ ok {test-number} - d >= Approx( 1.23 ) for: 1.23 >= Approx( 1.23 )
ok {test-number} - !(d >= Approx( 1.24 )) for: !(1.23 >= Approx( 1.24 )) ok {test-number} - !(d >= Approx( 1.24 )) for: !(1.23 >= Approx( 1.24 ))
# Greater-than inequalities with different epsilons # Greater-than inequalities with different epsilons
ok {test-number} - d >= Approx( 1.24 ).epsilon(0.1) for: 1.23 >= Approx( 1.24 ) ok {test-number} - d >= Approx( 1.24 ).epsilon(0.1) for: 1.23 >= Approx( 1.24 )
# Hashers with different seed produce different hash with same test case
ok {test-number} - h1( dummy ) != h2( dummy ) for: 3422778688 (0x<hex digits>) != 130711275 (0x<hex digits>)
# Hashers with same seed produce same hash
ok {test-number} - h1( dummy ) == h2( dummy ) for: 3422778688 (0x<hex digits>) == 3422778688 (0x<hex digits>)
# Hashing different test cases produces different result
ok {test-number} - h( dummy1 ) != h( dummy2 ) for: 2903002874 (0x<hex digits>) != 2668622104 (0x<hex digits>)
# Hashing different test cases produces different result
ok {test-number} - h( dummy1 ) != h( dummy2 ) for: 2673152918 (0x<hex digits>) != 3916075712 (0x<hex digits>)
# Hashing different test cases produces different result
ok {test-number} - h( dummy1 ) != h( dummy2 ) for: 2074929312 (0x<hex digits>) != 3429949824 (0x<hex digits>)
# Hashing test case produces same hash across multiple calls
ok {test-number} - h( dummy ) == h( dummy ) for: 3422778688 (0x<hex digits>) == 3422778688 (0x<hex digits>)
# INFO and WARN do not abort tests # INFO and WARN do not abort tests
warning {test-number} - 'this is a message' with 1 message: 'this is a warning' warning {test-number} - 'this is a message' with 1 message: 'this is a warning'
# INFO gets logged on failure # INFO gets logged on failure
@ -3290,16 +3302,6 @@ ok {test-number} - with 1 message: 'no assertions'
ok {test-number} - 0x<hex digits> == bit30and31 for: 3221225472 (0x<hex digits>) == 3221225472 ok {test-number} - 0x<hex digits> == bit30and31 for: 3221225472 (0x<hex digits>) == 3221225472
# Test with special, characters "in name # Test with special, characters "in name
ok {test-number} - ok {test-number} -
# TestCaseInfoHasher produces different hashes.
ok {test-number} - hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 764519552 (0x<hex digits>) != 3472848544 (0x<hex digits>)
# TestCaseInfoHasher produces different hashes.
ok {test-number} - hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 869111496 (0x<hex digits>) != 2870097333 (0x<hex digits>)
# TestCaseInfoHasher produces different hashes.
ok {test-number} - hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2) for: 1172537240 (0x<hex digits>) != 1403724645 (0x<hex digits>)
# TestCaseInfoHasher produces different hashes.
ok {test-number} - h1(testCase1) != h2(testCase2) for: 1836497244 (0x<hex digits>) != 430288597 (0x<hex digits>)
# TestCaseInfoHasher produces equal hashes.
ok {test-number} - hasherWithCustomSeed(testCase1) == hasherWithCustomSeed(testCase2) for: 764519552 (0x<hex digits>) == 764519552 (0x<hex digits>)
# Testing checked-if # Testing checked-if
ok {test-number} - true ok {test-number} - true
# Testing checked-if # Testing checked-if
@ -4472,5 +4474,5 @@ ok {test-number} - q3 == 23. for: 23.0 == 23.0
ok {test-number} - ok {test-number} -
# xmlentitycheck # xmlentitycheck
ok {test-number} - ok {test-number} -
1..2239 1..2240

View File

@ -377,6 +377,14 @@ Message.tests.cpp:<line number>|nexplicit failure with message:|n "This is a fa
##teamcity[testFinished name='Generators internals' duration="{duration}"] ##teamcity[testFinished name='Generators internals' duration="{duration}"]
##teamcity[testStarted name='Greater-than inequalities with different epsilons'] ##teamcity[testStarted name='Greater-than inequalities with different epsilons']
##teamcity[testFinished name='Greater-than inequalities with different epsilons' duration="{duration}"] ##teamcity[testFinished name='Greater-than inequalities with different epsilons' duration="{duration}"]
##teamcity[testStarted name='Hashers with different seed produce different hash with same test case']
##teamcity[testFinished name='Hashers with different seed produce different hash with same test case' duration="{duration}"]
##teamcity[testStarted name='Hashers with same seed produce same hash']
##teamcity[testFinished name='Hashers with same seed produce same hash' duration="{duration}"]
##teamcity[testStarted name='Hashing different test cases produces different result']
##teamcity[testFinished name='Hashing different test cases produces different result' duration="{duration}"]
##teamcity[testStarted name='Hashing test case produces same hash across multiple calls']
##teamcity[testFinished name='Hashing test case produces same hash across multiple calls' duration="{duration}"]
##teamcity[testStarted name='INFO and WARN do not abort tests'] ##teamcity[testStarted name='INFO and WARN do not abort tests']
##teamcity[testFinished name='INFO and WARN do not abort tests' duration="{duration}"] ##teamcity[testFinished name='INFO and WARN do not abort tests' duration="{duration}"]
##teamcity[testStarted name='INFO gets logged on failure'] ##teamcity[testStarted name='INFO gets logged on failure']
@ -615,10 +623,6 @@ Misc.tests.cpp:<line number>|nexpression failed|n CHECK( s1 == s2 )|nwith expan
##teamcity[testFinished name='Test enum bit values' duration="{duration}"] ##teamcity[testFinished name='Test enum bit values' duration="{duration}"]
##teamcity[testStarted name='Test with special, characters "in name'] ##teamcity[testStarted name='Test with special, characters "in name']
##teamcity[testFinished name='Test with special, characters "in name' duration="{duration}"] ##teamcity[testFinished name='Test with special, characters "in name' duration="{duration}"]
##teamcity[testStarted name='TestCaseInfoHasher produces different hashes.']
##teamcity[testFinished name='TestCaseInfoHasher produces different hashes.' duration="{duration}"]
##teamcity[testStarted name='TestCaseInfoHasher produces equal hashes.']
##teamcity[testFinished name='TestCaseInfoHasher produces equal hashes.' duration="{duration}"]
##teamcity[testStarted name='Testing checked-if'] ##teamcity[testStarted name='Testing checked-if']
##teamcity[testFinished name='Testing checked-if' duration="{duration}"] ##teamcity[testFinished name='Testing checked-if' duration="{duration}"]
##teamcity[testStarted name='Testing checked-if 2'] ##teamcity[testStarted name='Testing checked-if 2']

View File

@ -377,6 +377,14 @@ Message.tests.cpp:<line number>|nexplicit failure with message:|n "This is a fa
##teamcity[testFinished name='Generators internals' duration="{duration}"] ##teamcity[testFinished name='Generators internals' duration="{duration}"]
##teamcity[testStarted name='Greater-than inequalities with different epsilons'] ##teamcity[testStarted name='Greater-than inequalities with different epsilons']
##teamcity[testFinished name='Greater-than inequalities with different epsilons' duration="{duration}"] ##teamcity[testFinished name='Greater-than inequalities with different epsilons' duration="{duration}"]
##teamcity[testStarted name='Hashers with different seed produce different hash with same test case']
##teamcity[testFinished name='Hashers with different seed produce different hash with same test case' duration="{duration}"]
##teamcity[testStarted name='Hashers with same seed produce same hash']
##teamcity[testFinished name='Hashers with same seed produce same hash' duration="{duration}"]
##teamcity[testStarted name='Hashing different test cases produces different result']
##teamcity[testFinished name='Hashing different test cases produces different result' duration="{duration}"]
##teamcity[testStarted name='Hashing test case produces same hash across multiple calls']
##teamcity[testFinished name='Hashing test case produces same hash across multiple calls' duration="{duration}"]
##teamcity[testStarted name='INFO and WARN do not abort tests'] ##teamcity[testStarted name='INFO and WARN do not abort tests']
##teamcity[testFinished name='INFO and WARN do not abort tests' duration="{duration}"] ##teamcity[testFinished name='INFO and WARN do not abort tests' duration="{duration}"]
##teamcity[testStarted name='INFO gets logged on failure'] ##teamcity[testStarted name='INFO gets logged on failure']
@ -615,10 +623,6 @@ Misc.tests.cpp:<line number>|nexpression failed|n CHECK( s1 == s2 )|nwith expan
##teamcity[testFinished name='Test enum bit values' duration="{duration}"] ##teamcity[testFinished name='Test enum bit values' duration="{duration}"]
##teamcity[testStarted name='Test with special, characters "in name'] ##teamcity[testStarted name='Test with special, characters "in name']
##teamcity[testFinished name='Test with special, characters "in name' duration="{duration}"] ##teamcity[testFinished name='Test with special, characters "in name' duration="{duration}"]
##teamcity[testStarted name='TestCaseInfoHasher produces different hashes.']
##teamcity[testFinished name='TestCaseInfoHasher produces different hashes.' duration="{duration}"]
##teamcity[testStarted name='TestCaseInfoHasher produces equal hashes.']
##teamcity[testFinished name='TestCaseInfoHasher produces equal hashes.' duration="{duration}"]
##teamcity[testStarted name='Testing checked-if'] ##teamcity[testStarted name='Testing checked-if']
##teamcity[testFinished name='Testing checked-if' duration="{duration}"] ##teamcity[testFinished name='Testing checked-if' duration="{duration}"]
##teamcity[testStarted name='Testing checked-if 2'] ##teamcity[testStarted name='Testing checked-if 2']

View File

@ -8221,6 +8221,87 @@ C
</Expression> </Expression>
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<TestCase name="Hashers with different seed produce different hash with same test case" tags="[test-case-hash]" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h1( dummy ) != h2( dummy )
</Original>
<Expanded>
3422778688 (0x<hex digits>)
!=
130711275 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Hashers with same seed produce same hash" tags="[test-case-hash]" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h1( dummy ) == h2( dummy )
</Original>
<Expanded>
3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Hashing different test cases produces different result" tags="[test-case-hash]" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Section name="Different test name" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h( dummy1 ) != h( dummy2 )
</Original>
<Expanded>
2903002874 (0x<hex digits>)
!=
2668622104 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Different classname" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h( dummy1 ) != h( dummy2 )
</Original>
<Expanded>
2673152918 (0x<hex digits>)
!=
3916075712 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Different tags" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h( dummy1 ) != h( dummy2 )
</Original>
<Expanded>
2074929312 (0x<hex digits>)
!=
3429949824 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Hashing test case produces same hash across multiple calls" tags="[test-case-hash]" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h( dummy ) == h( dummy )
</Original>
<Expanded>
3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="INFO and WARN do not abort tests" tags="[.][messages]" filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > <TestCase name="INFO and WARN do not abort tests" tags="[.][messages]" filename="tests/<exe-name>/UsageTests/Message.tests.cpp" >
<Info> <Info>
this is a message this is a message
@ -15579,77 +15660,6 @@ Message from section two
<TestCase name="Test with special, characters &quot;in name" tags="[cli][regression]" filename="tests/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <TestCase name="Test with special, characters &quot;in name" tags="[cli][regression]" filename="tests/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<TestCase name="TestCaseInfoHasher produces different hashes." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Section name="class names are equal, names are equal but tags are different." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2)
</Original>
<Expanded>
764519552 (0x<hex digits>)
!=
3472848544 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="class names are equal, tags are equal but names are different" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2)
</Original>
<Expanded>
869111496 (0x<hex digits>)
!=
2870097333 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="names are equal, tags are equal but class names are different" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2)
</Original>
<Expanded>
1172537240 (0x<hex digits>)
!=
1403724645 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="class names and names and tags are equal but hashers are seeded differently." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h1(testCase1) != h2(testCase2)
</Original>
<Expanded>
1836497244 (0x<hex digits>)
!=
430288597 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="TestCaseInfoHasher produces equal hashes." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Section name="class names and names and tags are equal." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
hasherWithCustomSeed(testCase1) == hasherWithCustomSeed(testCase2)
</Original>
<Expanded>
764519552 (0x<hex digits>)
==
764519552 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Testing checked-if" tags="[checked-if]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" > <TestCase name="Testing checked-if" tags="[checked-if]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Expression success="true" type="CHECKED_IF" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECKED_IF" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Original> <Original>
@ -21062,6 +21072,6 @@ loose text artifact
</Section> </Section>
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<OverallResults successes="2069" failures="143" expectedFailures="27"/> <OverallResults successes="2070" failures="143" expectedFailures="27"/>
<OverallResultsCases successes="298" failures="83" expectedFailures="7"/> <OverallResultsCases successes="300" failures="83" expectedFailures="7"/>
</Catch2TestRun> </Catch2TestRun>

View File

@ -8221,6 +8221,87 @@ C
</Expression> </Expression>
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<TestCase name="Hashers with different seed produce different hash with same test case" tags="[test-case-hash]" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h1( dummy ) != h2( dummy )
</Original>
<Expanded>
3422778688 (0x<hex digits>)
!=
130711275 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Hashers with same seed produce same hash" tags="[test-case-hash]" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h1( dummy ) == h2( dummy )
</Original>
<Expanded>
3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Hashing different test cases produces different result" tags="[test-case-hash]" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Section name="Different test name" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h( dummy1 ) != h( dummy2 )
</Original>
<Expanded>
2903002874 (0x<hex digits>)
!=
2668622104 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Different classname" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h( dummy1 ) != h( dummy2 )
</Original>
<Expanded>
2673152918 (0x<hex digits>)
!=
3916075712 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="Different tags" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h( dummy1 ) != h( dummy2 )
</Original>
<Expanded>
2074929312 (0x<hex digits>)
!=
3429949824 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Hashing test case produces same hash across multiple calls" tags="[test-case-hash]" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="REQUIRE" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h( dummy ) == h( dummy )
</Original>
<Expanded>
3422778688 (0x<hex digits>)
==
3422778688 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="INFO and WARN do not abort tests" tags="[.][messages]" filename="tests/<exe-name>/UsageTests/Message.tests.cpp" > <TestCase name="INFO and WARN do not abort tests" tags="[.][messages]" filename="tests/<exe-name>/UsageTests/Message.tests.cpp" >
<Info> <Info>
this is a message this is a message
@ -15579,77 +15660,6 @@ Message from section two
<TestCase name="Test with special, characters &quot;in name" tags="[cli][regression]" filename="tests/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" > <TestCase name="Test with special, characters &quot;in name" tags="[cli][regression]" filename="tests/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<TestCase name="TestCaseInfoHasher produces different hashes." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Section name="class names are equal, names are equal but tags are different." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2)
</Original>
<Expanded>
764519552 (0x<hex digits>)
!=
3472848544 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="class names are equal, tags are equal but names are different" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2)
</Original>
<Expanded>
869111496 (0x<hex digits>)
!=
2870097333 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="names are equal, tags are equal but class names are different" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2)
</Original>
<Expanded>
1172537240 (0x<hex digits>)
!=
1403724645 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<Section name="class names and names and tags are equal but hashers are seeded differently." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
h1(testCase1) != h2(testCase2)
</Original>
<Expanded>
1836497244 (0x<hex digits>)
!=
430288597 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="TestCaseInfoHasher produces equal hashes." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Section name="class names and names and tags are equal." filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Expression success="true" type="CHECK" filename="tests/<exe-name>/IntrospectiveTests/TestCaseInfoHasher.tests.cpp" >
<Original>
hasherWithCustomSeed(testCase1) == hasherWithCustomSeed(testCase2)
</Original>
<Expanded>
764519552 (0x<hex digits>)
==
764519552 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResults successes="1" failures="0" expectedFailures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Testing checked-if" tags="[checked-if]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" > <TestCase name="Testing checked-if" tags="[checked-if]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Expression success="true" type="CHECKED_IF" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" > <Expression success="true" type="CHECKED_IF" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
<Original> <Original>
@ -21061,6 +21071,6 @@ There is no extra whitespace here
</Section> </Section>
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<OverallResults successes="2069" failures="143" expectedFailures="27"/> <OverallResults successes="2070" failures="143" expectedFailures="27"/>
<OverallResultsCases successes="298" failures="83" expectedFailures="7"/> <OverallResultsCases successes="300" failures="83" expectedFailures="7"/>
</Catch2TestRun> </Catch2TestRun>

View File

@ -12,48 +12,61 @@
static constexpr Catch::SourceLineInfo dummySourceLineInfo = CATCH_INTERNAL_LINEINFO; static constexpr Catch::SourceLineInfo dummySourceLineInfo = CATCH_INTERNAL_LINEINFO;
TEST_CASE( "TestCaseInfoHasher produces equal hashes." ) { using Catch::TestCaseInfo;
SECTION( "class names and names and tags are equal." ) { using Catch::TestCaseInfoHasher;
Catch::TestCaseInfo testCase1("", {"name", "[.magic-tag1]"}, dummySourceLineInfo);
Catch::TestCaseInfo testCase2("", {"name", "[.magic-tag1]"}, dummySourceLineInfo);
Catch::TestCaseInfoHasher hasherWithCustomSeed(123456789u); TEST_CASE("Hashers with same seed produce same hash", "[test-case-hash]") {
CHECK(hasherWithCustomSeed(testCase1) == hasherWithCustomSeed(testCase2)); TestCaseInfo dummy( "", { "name", "[a-tag]" }, dummySourceLineInfo );
}
TestCaseInfoHasher h1( 0x12345678 );
TestCaseInfoHasher h2( 0x12345678 );
REQUIRE( h1( dummy ) == h2( dummy ) );
} }
TEST_CASE( "TestCaseInfoHasher produces different hashes." ) { TEST_CASE(
SECTION( "class names are equal, names are equal but tags are different." ) { "Hashers with different seed produce different hash with same test case",
Catch::TestCaseInfo testCase1("", {"name", "[.magic-tag1]"}, dummySourceLineInfo); "[test-case-hash]") {
Catch::TestCaseInfo testCase2("", {"name", "[.magic-tag2]"}, dummySourceLineInfo); TestCaseInfo dummy( "", { "name", "[a-tag]" }, dummySourceLineInfo );
Catch::TestCaseInfoHasher hasherWithCustomSeed(123456789u); TestCaseInfoHasher h1( 0x12345678 );
CHECK(hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2)); TestCaseInfoHasher h2( 0x87654321 );
REQUIRE( h1( dummy ) != h2( dummy ) );
} }
SECTION( "class names are equal, tags are equal but names are different" ) { TEST_CASE("Hashing test case produces same hash across multiple calls",
Catch::TestCaseInfo testCase1("", {"name1", "[.magic-tag]"}, dummySourceLineInfo); "[test-case-hash]") {
Catch::TestCaseInfo testCase2("", {"name2", "[.magic-tag]"}, dummySourceLineInfo); TestCaseInfo dummy( "", { "name", "[a-tag]" }, dummySourceLineInfo );
Catch::TestCaseInfoHasher hasherWithCustomSeed(123456789u); TestCaseInfoHasher h( 0x12345678 );
CHECK(hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2));
REQUIRE( h( dummy ) == h( dummy ) );
} }
SECTION( "names are equal, tags are equal but class names are different" ) { TEST_CASE("Hashing different test cases produces different result", "[test-case-hash]") {
Catch::TestCaseInfo testCase1("class1", {"name", "[.magic-tag]"}, dummySourceLineInfo); TestCaseInfoHasher h( 0x12345678 );
Catch::TestCaseInfo testCase2("class2", {"name", "[.magic-tag]"}, dummySourceLineInfo); SECTION("Different test name") {
TestCaseInfo dummy1( "class", { "name-1", "[a-tag]" }, dummySourceLineInfo );
TestCaseInfo dummy2(
"class", { "name-2", "[a-tag]" }, dummySourceLineInfo );
Catch::TestCaseInfoHasher hasherWithCustomSeed(123456789u); REQUIRE( h( dummy1 ) != h( dummy2 ) );
CHECK(hasherWithCustomSeed(testCase1) != hasherWithCustomSeed(testCase2));
} }
SECTION("Different classname") {
TestCaseInfo dummy1(
"class-1", { "name", "[a-tag]" }, dummySourceLineInfo );
TestCaseInfo dummy2(
"class-2", { "name", "[a-tag]" }, dummySourceLineInfo );
SECTION( "class names and names and tags are equal but hashers are seeded differently." ) { REQUIRE( h( dummy1 ) != h( dummy2 ) );
Catch::TestCaseInfo testCase1("", {"name", "[.magic-tag1]"}, dummySourceLineInfo); }
Catch::TestCaseInfo testCase2("", {"name", "[.magic-tag1]"}, dummySourceLineInfo); SECTION("Different tags") {
TestCaseInfo dummy1(
"class", { "name", "[a-tag]" }, dummySourceLineInfo );
TestCaseInfo dummy2(
"class", { "name", "[b-tag]" }, dummySourceLineInfo );
Catch::TestCaseInfoHasher h1(14695981039346656037u); REQUIRE( h( dummy1 ) != h( dummy2 ) );
Catch::TestCaseInfoHasher h2(14695981039346656038u);
CHECK(h1(testCase1) != h2(testCase2));
} }
} }