mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-22 19:33:29 +01:00
Suppress failure of CHECKED_IF and CHECKED_ELSE (#2187)
Resolves #1390 Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com>
This commit is contained in:
parent
313071e8fe
commit
eb911aa995
@ -19,14 +19,6 @@ command line interface instead of parsing C++ code with regular expressions.
|
||||
|
||||
## Planned changes
|
||||
|
||||
### `CHECKED_IF` and `CHECKED_ELSE`
|
||||
|
||||
To make the `CHECKED_IF` and `CHECKED_ELSE` macros more useful, they will
|
||||
be marked as "OK to fail" (`Catch::ResultDisposition::SuppressFail` flag
|
||||
will be added), which means that their failure will not fail the test,
|
||||
making the `else` actually useful.
|
||||
|
||||
|
||||
### Console Colour API
|
||||
|
||||
The API for Catch2's console colour will be changed to take an extra
|
||||
|
@ -15,6 +15,8 @@ stringification machinery to the _expr_ and records the result. As with
|
||||
evaluates to `true`. `CHECKED_ELSE( expr )` work similarly, but the block
|
||||
is entered only if the _expr_ evaluated to `false`.
|
||||
|
||||
> `CHECKED_X` macros were changed to not count as failure in Catch2 X.Y.Z.
|
||||
|
||||
Example:
|
||||
```cpp
|
||||
int a = ...;
|
||||
|
@ -32,8 +32,8 @@
|
||||
|
||||
#define CATCH_CHECK( ... ) INTERNAL_CATCH_TEST( "CATCH_CHECK", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
|
||||
#define CATCH_CHECK_FALSE( ... ) INTERNAL_CATCH_TEST( "CATCH_CHECK_FALSE", Catch::ResultDisposition::ContinueOnFailure | Catch::ResultDisposition::FalseTest, __VA_ARGS__ )
|
||||
#define CATCH_CHECKED_IF( ... ) INTERNAL_CATCH_IF( "CATCH_CHECKED_IF", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
|
||||
#define CATCH_CHECKED_ELSE( ... ) INTERNAL_CATCH_ELSE( "CATCH_CHECKED_ELSE", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
|
||||
#define CATCH_CHECKED_IF( ... ) INTERNAL_CATCH_IF( "CATCH_CHECKED_IF", Catch::ResultDisposition::ContinueOnFailure | Catch::ResultDisposition::SuppressFail, __VA_ARGS__ )
|
||||
#define CATCH_CHECKED_ELSE( ... ) INTERNAL_CATCH_ELSE( "CATCH_CHECKED_ELSE", Catch::ResultDisposition::ContinueOnFailure | Catch::ResultDisposition::SuppressFail, __VA_ARGS__ )
|
||||
#define CATCH_CHECK_NOFAIL( ... ) INTERNAL_CATCH_TEST( "CATCH_CHECK_NOFAIL", Catch::ResultDisposition::ContinueOnFailure | Catch::ResultDisposition::SuppressFail, __VA_ARGS__ )
|
||||
|
||||
#define CATCH_CHECK_THROWS( ... ) INTERNAL_CATCH_THROWS( "CATCH_CHECK_THROWS", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
|
||||
@ -123,8 +123,8 @@
|
||||
|
||||
#define CHECK( ... ) INTERNAL_CATCH_TEST( "CHECK", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
|
||||
#define CHECK_FALSE( ... ) INTERNAL_CATCH_TEST( "CHECK_FALSE", Catch::ResultDisposition::ContinueOnFailure | Catch::ResultDisposition::FalseTest, __VA_ARGS__ )
|
||||
#define CHECKED_IF( ... ) INTERNAL_CATCH_IF( "CHECKED_IF", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
|
||||
#define CHECKED_ELSE( ... ) INTERNAL_CATCH_ELSE( "CHECKED_ELSE", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
|
||||
#define CHECKED_IF( ... ) INTERNAL_CATCH_IF( "CHECKED_IF", Catch::ResultDisposition::ContinueOnFailure | Catch::ResultDisposition::SuppressFail, __VA_ARGS__ )
|
||||
#define CHECKED_ELSE( ... ) INTERNAL_CATCH_ELSE( "CHECKED_ELSE", Catch::ResultDisposition::ContinueOnFailure | Catch::ResultDisposition::SuppressFail, __VA_ARGS__ )
|
||||
#define CHECK_NOFAIL( ... ) INTERNAL_CATCH_TEST( "CHECK_NOFAIL", Catch::ResultDisposition::ContinueOnFailure | Catch::ResultDisposition::SuppressFail, __VA_ARGS__ )
|
||||
|
||||
#define CHECK_THROWS( ... ) INTERNAL_CATCH_THROWS( "CHECK_THROWS", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
|
||||
|
@ -230,9 +230,11 @@ namespace Catch {
|
||||
if (result.getResultType() == ResultWas::Ok) {
|
||||
m_totals.assertions.passed++;
|
||||
m_lastAssertionPassed = true;
|
||||
} else if (!result.isOk()) {
|
||||
} else if (!result.succeeded()) {
|
||||
m_lastAssertionPassed = false;
|
||||
if( m_activeTestCase->getTestCaseInfo().okToFail() )
|
||||
if (result.isOk()) {
|
||||
}
|
||||
else if( m_activeTestCase->getTestCaseInfo().okToFail() )
|
||||
m_totals.assertions.failedButOk++;
|
||||
else
|
||||
m_totals.assertions.failed++;
|
||||
|
@ -231,6 +231,9 @@ Message from section two
|
||||
:test-result: PASS Test case with one argument
|
||||
:test-result: PASS Test enum bit values
|
||||
:test-result: PASS Test with special, characters "in name
|
||||
:test-result: PASS Testing checked-if
|
||||
:test-result: XFAIL Testing checked-if 2
|
||||
:test-result: XFAIL Testing checked-if 3
|
||||
:test-result: FAIL The NO_FAIL macro reports a failure but does not fail the test
|
||||
:test-result: PASS The default listing implementation write to provided stream
|
||||
:test-result: FAIL This test 'should' fail but doesn't
|
||||
|
@ -1714,6 +1714,16 @@ Misc.tests.cpp:<line number>: passed: v.capacity() >= V for: 15 >= 15
|
||||
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
|
||||
CmdLine.tests.cpp:<line number>: passed:
|
||||
Misc.tests.cpp:<line number>: passed: true
|
||||
Misc.tests.cpp:<line number>: passed:
|
||||
Misc.tests.cpp:<line number>: failed - but was ok: false
|
||||
Misc.tests.cpp:<line number>: passed: true
|
||||
Misc.tests.cpp:<line number>: failed - but was ok: false
|
||||
Misc.tests.cpp:<line number>: passed:
|
||||
Misc.tests.cpp:<line number>: passed: true
|
||||
Misc.tests.cpp:<line number>: failed: explicitly
|
||||
Misc.tests.cpp:<line number>: failed - but was ok: false
|
||||
Misc.tests.cpp:<line number>: failed: explicitly
|
||||
Message.tests.cpp:<line number>: failed - but was ok: 1 == 2
|
||||
Reporters.tests.cpp:<line number>: passed: listingString, Contains("[fakeTag]"s) for: "All available tags:
|
||||
1 [fakeTag]
|
||||
@ -1996,11 +2006,11 @@ InternalBenchmark.tests.cpp:<line number>: passed: called == 1 for: 1 == 1
|
||||
Tricky.tests.cpp:<line number>: passed: obj.prop != 0 for: 0x<hex digits> != 0
|
||||
Misc.tests.cpp:<line number>: passed: flag for: true
|
||||
Misc.tests.cpp:<line number>: passed: testCheckedElse( true ) for: true
|
||||
Misc.tests.cpp:<line number>: failed: flag for: false
|
||||
Misc.tests.cpp:<line number>: failed - but was ok: flag for: false
|
||||
Misc.tests.cpp:<line number>: failed: testCheckedElse( false ) for: false
|
||||
Misc.tests.cpp:<line number>: passed: flag for: true
|
||||
Misc.tests.cpp:<line number>: passed: testCheckedIf( true ) for: true
|
||||
Misc.tests.cpp:<line number>: failed: flag for: false
|
||||
Misc.tests.cpp:<line number>: failed - but was ok: flag for: false
|
||||
Misc.tests.cpp:<line number>: failed: testCheckedIf( false ) for: false
|
||||
InternalBenchmark.tests.cpp:<line number>: passed: o.samples_seen == static_cast<int>(x.size()) for: 6 == 6
|
||||
InternalBenchmark.tests.cpp:<line number>: passed: o.low_severe == los for: 0 == 0
|
||||
@ -2342,5 +2352,5 @@ InternalBenchmark.tests.cpp:<line number>: passed: med == 18. for: 18.0 == 18.0
|
||||
InternalBenchmark.tests.cpp:<line number>: passed: q3 == 23. for: 23.0 == 23.0
|
||||
Misc.tests.cpp:<line number>: passed:
|
||||
Misc.tests.cpp:<line number>: passed:
|
||||
Failed 86 test cases, failed 148 assertions.
|
||||
Failed 86 test cases, failed 146 assertions.
|
||||
|
||||
|
@ -922,6 +922,22 @@ with expansion:
|
||||
}
|
||||
"
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Testing checked-if 2
|
||||
-------------------------------------------------------------------------------
|
||||
Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Testing checked-if 3
|
||||
-------------------------------------------------------------------------------
|
||||
Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Thrown string literals are translated
|
||||
-------------------------------------------------------------------------------
|
||||
@ -1135,11 +1151,6 @@ checkedElse, failing
|
||||
Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
CHECKED_ELSE( flag )
|
||||
with expansion:
|
||||
false
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
REQUIRE( testCheckedElse( false ) )
|
||||
with expansion:
|
||||
@ -1151,11 +1162,6 @@ checkedIf, failing
|
||||
Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
CHECKED_IF( flag )
|
||||
with expansion:
|
||||
false
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
REQUIRE( testCheckedIf( false ) )
|
||||
with expansion:
|
||||
@ -1380,6 +1386,6 @@ due to unexpected exception with message:
|
||||
Why would you throw a std::string?
|
||||
|
||||
===============================================================================
|
||||
test cases: 356 | 282 passed | 70 failed | 4 failed as expected
|
||||
assertions: 2077 | 1925 passed | 131 failed | 21 failed as expected
|
||||
test cases: 359 | 283 passed | 70 failed | 6 failed as expected
|
||||
assertions: 2082 | 1930 passed | 129 failed | 23 failed as expected
|
||||
|
||||
|
@ -12298,6 +12298,50 @@ CmdLine.tests.cpp:<line number>
|
||||
|
||||
CmdLine.tests.cpp:<line number>: PASSED:
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Testing checked-if
|
||||
-------------------------------------------------------------------------------
|
||||
Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
CHECKED_IF( true )
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED - but was ok:
|
||||
CHECKED_IF( false )
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
CHECKED_ELSE( true )
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED - but was ok:
|
||||
CHECKED_ELSE( false )
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Testing checked-if 2
|
||||
-------------------------------------------------------------------------------
|
||||
Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
CHECKED_IF( true )
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Testing checked-if 3
|
||||
-------------------------------------------------------------------------------
|
||||
Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED - but was ok:
|
||||
CHECKED_ELSE( false )
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
The NO_FAIL macro reports a failure but does not fail the test
|
||||
-------------------------------------------------------------------------------
|
||||
@ -14176,7 +14220,7 @@ checkedElse, failing
|
||||
Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
Misc.tests.cpp:<line number>: FAILED - but was ok:
|
||||
CHECKED_ELSE( flag )
|
||||
with expansion:
|
||||
false
|
||||
@ -14208,7 +14252,7 @@ checkedIf, failing
|
||||
Misc.tests.cpp:<line number>
|
||||
...............................................................................
|
||||
|
||||
Misc.tests.cpp:<line number>: FAILED:
|
||||
Misc.tests.cpp:<line number>: FAILED - but was ok:
|
||||
CHECKED_IF( flag )
|
||||
with expansion:
|
||||
false
|
||||
@ -16722,6 +16766,6 @@ Misc.tests.cpp:<line number>
|
||||
Misc.tests.cpp:<line number>: PASSED:
|
||||
|
||||
===============================================================================
|
||||
test cases: 356 | 266 passed | 86 failed | 4 failed as expected
|
||||
assertions: 2094 | 1925 passed | 148 failed | 21 failed as expected
|
||||
test cases: 359 | 267 passed | 86 failed | 6 failed as expected
|
||||
assertions: 2099 | 1930 passed | 146 failed | 23 failed as expected
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testsuitesloose text artifact
|
||||
>
|
||||
<testsuite name="<exe-name>" errors="17" failures="132" tests="2095" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
|
||||
<testsuite name="<exe-name>" errors="17" failures="130" tests="2100" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
|
||||
<properties>
|
||||
<property name="filters" value="~[!nonportable]~[!benchmark]~[approvals] *"/>
|
||||
<property name="random-seed" value="1"/>
|
||||
@ -1276,6 +1276,19 @@ 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 enum bit values" time="{duration}" status="run"/>
|
||||
<testcase classname="<exe-name>.global" name="Test with special, characters "in name" 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">
|
||||
<failure type="FAIL">
|
||||
FAILED:
|
||||
Misc.tests.cpp:<line number>
|
||||
</failure>
|
||||
</testcase>
|
||||
<testcase classname="<exe-name>.global" name="Testing checked-if 3" time="{duration}" status="run">
|
||||
<failure type="FAIL">
|
||||
FAILED:
|
||||
Misc.tests.cpp:<line number>
|
||||
</failure>
|
||||
</testcase>
|
||||
<testcase classname="<exe-name>.global" name="The NO_FAIL macro reports a failure but does not fail the test" time="{duration}" status="run"/>
|
||||
<testcase classname="<exe-name>.global" name="The default listing implementation write to provided stream/Listing tags" time="{duration}" status="run"/>
|
||||
<testcase classname="<exe-name>.global" name="The default listing implementation write to provided stream/Listing reporters" time="{duration}" status="run"/>
|
||||
@ -1505,13 +1518,6 @@ Exception.tests.cpp:<line number>
|
||||
<testcase classname="<exe-name>.global" name="boolean member" time="{duration}" status="run"/>
|
||||
<testcase classname="<exe-name>.global" name="checkedElse" time="{duration}" status="run"/>
|
||||
<testcase classname="<exe-name>.global" name="checkedElse, failing" time="{duration}" status="run">
|
||||
<failure message="flag" type="CHECKED_ELSE">
|
||||
FAILED:
|
||||
CHECKED_ELSE( flag )
|
||||
with expansion:
|
||||
false
|
||||
Misc.tests.cpp:<line number>
|
||||
</failure>
|
||||
<failure message="testCheckedElse( false )" type="REQUIRE">
|
||||
FAILED:
|
||||
REQUIRE( testCheckedElse( false ) )
|
||||
@ -1522,13 +1528,6 @@ Misc.tests.cpp:<line number>
|
||||
</testcase>
|
||||
<testcase classname="<exe-name>.global" name="checkedIf" time="{duration}" status="run"/>
|
||||
<testcase classname="<exe-name>.global" name="checkedIf, failing" time="{duration}" status="run">
|
||||
<failure message="flag" type="CHECKED_IF">
|
||||
FAILED:
|
||||
CHECKED_IF( flag )
|
||||
with expansion:
|
||||
false
|
||||
Misc.tests.cpp:<line number>
|
||||
</failure>
|
||||
<failure message="testCheckedIf( false )" type="REQUIRE">
|
||||
FAILED:
|
||||
REQUIRE( testCheckedIf( false ) )
|
||||
|
@ -1583,17 +1583,23 @@ Misc.tests.cpp:<line number>
|
||||
<testCase name="TemplateTestSig: vectors can be sized and resized - std::string,15/resizing smaller changes size but not capacity/We can use the 'swap trick' to reset the capacity" duration="{duration}"/>
|
||||
<testCase name="TemplateTestSig: vectors can be sized and resized - std::string,15/reserving bigger changes capacity but not size" duration="{duration}"/>
|
||||
<testCase name="TemplateTestSig: vectors can be sized and resized - std::string,15/reserving smaller does not change size or capacity" duration="{duration}"/>
|
||||
<testCase name="Testing checked-if" duration="{duration}"/>
|
||||
<testCase name="Testing checked-if 2" duration="{duration}">
|
||||
<skipped message="FAIL()">
|
||||
FAILED:
|
||||
Misc.tests.cpp:<line number>
|
||||
</skipped>
|
||||
</testCase>
|
||||
<testCase name="Testing checked-if 3" duration="{duration}">
|
||||
<skipped message="FAIL()">
|
||||
FAILED:
|
||||
Misc.tests.cpp:<line number>
|
||||
</skipped>
|
||||
</testCase>
|
||||
<testCase name="This test 'should' fail but doesn't" duration="{duration}"/>
|
||||
<testCase name="atomic if" duration="{duration}"/>
|
||||
<testCase name="checkedElse" duration="{duration}"/>
|
||||
<testCase name="checkedElse, failing" duration="{duration}">
|
||||
<failure message="CHECKED_ELSE(flag)">
|
||||
FAILED:
|
||||
CHECKED_ELSE( flag )
|
||||
with expansion:
|
||||
false
|
||||
Misc.tests.cpp:<line number>
|
||||
</failure>
|
||||
<failure message="REQUIRE(testCheckedElse( false ))">
|
||||
FAILED:
|
||||
REQUIRE( testCheckedElse( false ) )
|
||||
@ -1604,13 +1610,6 @@ Misc.tests.cpp:<line number>
|
||||
</testCase>
|
||||
<testCase name="checkedIf" duration="{duration}"/>
|
||||
<testCase name="checkedIf, failing" duration="{duration}">
|
||||
<failure message="CHECKED_IF(flag)">
|
||||
FAILED:
|
||||
CHECKED_IF( flag )
|
||||
with expansion:
|
||||
false
|
||||
Misc.tests.cpp:<line number>
|
||||
</failure>
|
||||
<failure message="REQUIRE(testCheckedIf( false ))">
|
||||
FAILED:
|
||||
REQUIRE( testCheckedIf( false ) )
|
||||
|
@ -3073,6 +3073,26 @@ ok {test-number} - with 1 message: 'no assertions'
|
||||
ok {test-number} - 0x<hex digits> == bit30and31 for: 3221225472 (0x<hex digits>) == 3221225472
|
||||
# Test with special, characters "in name
|
||||
ok {test-number} -
|
||||
# Testing checked-if
|
||||
ok {test-number} - true
|
||||
# Testing checked-if
|
||||
ok {test-number} -
|
||||
# Testing checked-if
|
||||
ok {test-number} - false # TODO
|
||||
# Testing checked-if
|
||||
ok {test-number} - true
|
||||
# Testing checked-if
|
||||
ok {test-number} - false # TODO
|
||||
# Testing checked-if
|
||||
ok {test-number} -
|
||||
# Testing checked-if 2
|
||||
ok {test-number} - true
|
||||
# Testing checked-if 2
|
||||
not ok {test-number} - explicitly
|
||||
# Testing checked-if 3
|
||||
ok {test-number} - false # TODO
|
||||
# Testing checked-if 3
|
||||
not ok {test-number} - explicitly
|
||||
# The NO_FAIL macro reports a failure but does not fail the test
|
||||
ok {test-number} - 1 == 2 # TODO
|
||||
# The default listing implementation write to provided stream
|
||||
@ -3570,7 +3590,7 @@ ok {test-number} - flag for: true
|
||||
# checkedElse
|
||||
ok {test-number} - testCheckedElse( true ) for: true
|
||||
# checkedElse, failing
|
||||
not ok {test-number} - flag for: false
|
||||
ok {test-number} - flag for: false # TODO
|
||||
# checkedElse, failing
|
||||
not ok {test-number} - testCheckedElse( false ) for: false
|
||||
# checkedIf
|
||||
@ -3578,7 +3598,7 @@ ok {test-number} - flag for: true
|
||||
# checkedIf
|
||||
ok {test-number} - testCheckedIf( true ) for: true
|
||||
# checkedIf, failing
|
||||
not ok {test-number} - flag for: false
|
||||
ok {test-number} - flag for: false # TODO
|
||||
# checkedIf, failing
|
||||
not ok {test-number} - testCheckedIf( false ) for: false
|
||||
# classify_outliers
|
||||
@ -4180,5 +4200,5 @@ ok {test-number} - q3 == 23. for: 23.0 == 23.0
|
||||
ok {test-number} -
|
||||
# xmlentitycheck
|
||||
ok {test-number} -
|
||||
1..2094
|
||||
1..2099
|
||||
|
||||
|
@ -563,6 +563,14 @@ Misc.tests.cpp:<line number>|nexpression failed|n CHECK( s1 == s2 )|nwith expan
|
||||
##teamcity[testFinished name='Test enum bit values' duration="{duration}"]
|
||||
##teamcity[testStarted name='Test with special, characters "in name']
|
||||
##teamcity[testFinished name='Test with special, characters "in name' duration="{duration}"]
|
||||
##teamcity[testStarted name='Testing checked-if']
|
||||
##teamcity[testFinished name='Testing checked-if' duration="{duration}"]
|
||||
##teamcity[testStarted name='Testing checked-if 2']
|
||||
Misc.tests.cpp:<line number>|nexplicit failure- failure ignore as test marked as |'ok to fail|'|n']
|
||||
##teamcity[testFinished name='Testing checked-if 2' duration="{duration}"]
|
||||
##teamcity[testStarted name='Testing checked-if 3']
|
||||
Misc.tests.cpp:<line number>|nexplicit failure- failure ignore as test marked as |'ok to fail|'|n']
|
||||
##teamcity[testFinished name='Testing checked-if 3' duration="{duration}"]
|
||||
##teamcity[testStarted name='The NO_FAIL macro reports a failure but does not fail the test']
|
||||
##teamcity[testFinished name='The NO_FAIL macro reports a failure but does not fail the test' duration="{duration}"]
|
||||
##teamcity[testStarted name='The default listing implementation write to provided stream']
|
||||
@ -661,13 +669,11 @@ Exception.tests.cpp:<line number>|nunexpected exception with message:|n "unexpe
|
||||
##teamcity[testStarted name='checkedElse']
|
||||
##teamcity[testFinished name='checkedElse' duration="{duration}"]
|
||||
##teamcity[testStarted name='checkedElse, failing']
|
||||
Misc.tests.cpp:<line number>|nexpression failed|n CHECKED_ELSE( flag )|nwith expansion:|n false|n']
|
||||
Misc.tests.cpp:<line number>|nexpression failed|n REQUIRE( testCheckedElse( false ) )|nwith expansion:|n false|n']
|
||||
##teamcity[testFinished name='checkedElse, failing' duration="{duration}"]
|
||||
##teamcity[testStarted name='checkedIf']
|
||||
##teamcity[testFinished name='checkedIf' duration="{duration}"]
|
||||
##teamcity[testStarted name='checkedIf, failing']
|
||||
Misc.tests.cpp:<line number>|nexpression failed|n CHECKED_IF( flag )|nwith expansion:|n false|n']
|
||||
Misc.tests.cpp:<line number>|nexpression failed|n REQUIRE( testCheckedIf( false ) )|nwith expansion:|n false|n']
|
||||
##teamcity[testFinished name='checkedIf, failing' duration="{duration}"]
|
||||
##teamcity[testStarted name='classify_outliers']
|
||||
|
@ -14425,6 +14425,65 @@ Message from section two
|
||||
<TestCase name="Test with special, characters "in name" tags="[cli][regression]" filename="tests/<exe-name>/IntrospectiveTests/CmdLine.tests.cpp" >
|
||||
<OverallResult success="true"/>
|
||||
</TestCase>
|
||||
<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" >
|
||||
<Original>
|
||||
true
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
</Expanded>
|
||||
</Expression>
|
||||
<Expression success="false" type="CHECKED_IF" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
false
|
||||
</Original>
|
||||
<Expanded>
|
||||
false
|
||||
</Expanded>
|
||||
</Expression>
|
||||
<Expression success="true" type="CHECKED_ELSE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
true
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
</Expanded>
|
||||
</Expression>
|
||||
<Expression success="false" type="CHECKED_ELSE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
false
|
||||
</Original>
|
||||
<Expanded>
|
||||
false
|
||||
</Expanded>
|
||||
</Expression>
|
||||
<OverallResult success="true"/>
|
||||
</TestCase>
|
||||
<TestCase name="Testing checked-if 2" tags="[!shouldfail][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>
|
||||
true
|
||||
</Original>
|
||||
<Expanded>
|
||||
true
|
||||
</Expanded>
|
||||
</Expression>
|
||||
<Failure filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" />
|
||||
<OverallResult success="true"/>
|
||||
</TestCase>
|
||||
<TestCase name="Testing checked-if 3" tags="[!shouldfail][checked-if]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Expression success="false" type="CHECKED_ELSE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||
<Original>
|
||||
false
|
||||
</Original>
|
||||
<Expanded>
|
||||
false
|
||||
</Expanded>
|
||||
</Expression>
|
||||
<Failure filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" />
|
||||
<OverallResult success="true"/>
|
||||
</TestCase>
|
||||
<TestCase name="The NO_FAIL macro reports a failure but does not fail the test" tags="[messages]" filename="tests/<exe-name>/UsageTests/Message.tests.cpp" >
|
||||
<Expression success="false" type="CHECK_NOFAIL" filename="tests/<exe-name>/UsageTests/Message.tests.cpp" >
|
||||
<Original>
|
||||
@ -19667,9 +19726,9 @@ loose text artifact
|
||||
</Section>
|
||||
<OverallResult success="true"/>
|
||||
</TestCase>
|
||||
<OverallResults successes="1925" failures="149" expectedFailures="21"/>
|
||||
<OverallResultsCases successes="266" failures="86" expectedFailures="4"/>
|
||||
<OverallResults successes="1930" failures="147" expectedFailures="23"/>
|
||||
<OverallResultsCases successes="267" failures="86" expectedFailures="6"/>
|
||||
</Group>
|
||||
<OverallResults successes="1925" failures="148" expectedFailures="21"/>
|
||||
<OverallResultsCases successes="266" failures="86" expectedFailures="4"/>
|
||||
<OverallResults successes="1930" failures="146" expectedFailures="23"/>
|
||||
<OverallResultsCases successes="267" failures="86" expectedFailures="6"/>
|
||||
</Catch>
|
||||
|
@ -182,6 +182,39 @@ TEST_CASE( "checkedElse, failing", "[failing][.]" ) {
|
||||
REQUIRE( testCheckedElse( false ) );
|
||||
}
|
||||
|
||||
TEST_CASE("Testing checked-if", "[checked-if]") {
|
||||
CHECKED_IF(true) {
|
||||
SUCCEED();
|
||||
}
|
||||
CHECKED_IF(false) {
|
||||
FAIL();
|
||||
}
|
||||
CHECKED_ELSE(true) {
|
||||
FAIL();
|
||||
}
|
||||
CHECKED_ELSE(false) {
|
||||
SUCCEED();
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("Testing checked-if 2", "[checked-if][!shouldfail]") {
|
||||
CHECKED_IF(true) {
|
||||
FAIL();
|
||||
}
|
||||
// If the checked if is not entered, this passes and the test
|
||||
// fails, because of the [!shouldfail] tag.
|
||||
SUCCEED();
|
||||
}
|
||||
|
||||
TEST_CASE("Testing checked-if 3", "[checked-if][!shouldfail]") {
|
||||
CHECKED_ELSE(false) {
|
||||
FAIL();
|
||||
}
|
||||
// If the checked false is not entered, this passes and the test
|
||||
// fails, because of the [!shouldfail] tag.
|
||||
SUCCEED();
|
||||
}
|
||||
|
||||
TEST_CASE( "xmlentitycheck" ) {
|
||||
SECTION( "embedded xml: <test>it should be possible to embed xml characters, such as <, \" or &, or even whole <xml>documents</xml> within an attribute</test>" ) {
|
||||
SUCCEED(); // We need this here to stop it failing due to no tests
|
||||
|
Loading…
Reference in New Issue
Block a user