Added support for manually registering test functions.

As discussed in #421
This commit is contained in:
Phil Nash
2015-11-20 16:54:07 +00:00
parent c70170e904
commit bd8688cded
8 changed files with 95 additions and 40 deletions

View File

@@ -830,6 +830,6 @@ with expansion:
"first" == "second"
===============================================================================
test cases: 164 | 121 passed | 42 failed | 1 failed as expected
assertions: 767 | 671 passed | 83 failed | 13 failed as expected
test cases: 165 | 122 passed | 42 failed | 1 failed as expected
assertions: 768 | 672 passed | 83 failed | 13 failed as expected

View File

@@ -4684,6 +4684,17 @@ with expansion:
************************
... message truncated due to excessive size
-------------------------------------------------------------------------------
ManuallyRegistered
-------------------------------------------------------------------------------
TestMain.cpp:<line number>
...............................................................................
TestMain.cpp:<line number>:
PASSED:
with message:
was called
-------------------------------------------------------------------------------
Parsing a std::pair
-------------------------------------------------------------------------------
@@ -7714,6 +7725,6 @@ with expansion:
1 > 0
===============================================================================
test cases: 164 | 120 passed | 43 failed | 1 failed as expected
assertions: 769 | 671 passed | 85 failed | 13 failed as expected
test cases: 165 | 121 passed | 43 failed | 1 failed as expected
assertions: 770 | 672 passed | 85 failed | 13 failed as expected

View File

@@ -1,5 +1,5 @@
<testsuites>
<testsuite name="CatchSelfTest" errors="13" failures="72" tests="769" hostname="tbd" time="{duration}" timestamp="tbd">
<testsuite name="CatchSelfTest" errors="13" failures="72" tests="770" hostname="tbd" time="{duration}" timestamp="tbd">
<testcase classname="global" name="toString(enum)" time="{duration}"/>
<testcase classname="global" name="toString(enum w/operator&lt;&lt;)" time="{duration}"/>
<testcase classname="global" name="toString(enum class)" time="{duration}"/>
@@ -545,6 +545,7 @@ hello
</testcase>
<testcase classname="global" name="Text can be formatted using the Text class" time="{duration}"/>
<testcase classname="global" name="Long text is truncted" time="{duration}"/>
<testcase classname="global" name="ManuallyRegistered" time="{duration}"/>
<testcase classname="global" name="Parsing a std::pair" time="{duration}"/>
<testcase classname="global" name="Where there is more to the expression after the RHS" time="{duration}"/>
<testcase classname="global" name="Where the LHS is not a simple value" time="{duration}"/>

View File

@@ -5110,6 +5110,9 @@ there"
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="ManuallyRegistered">
<OverallResult success="true"/>
</TestCase>
<TestCase name="Parsing a std::pair">
<Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
@@ -8328,7 +8331,7 @@ there"
</Section>
<OverallResult success="true"/>
</TestCase>
<OverallResults successes="671" failures="85" expectedFailures="13"/>
<OverallResults successes="672" failures="85" expectedFailures="13"/>
</Group>
<OverallResults successes="671" failures="85" expectedFailures="13"/>
<OverallResults successes="672" failures="85" expectedFailures="13"/>
</Catch>

View File

@@ -449,3 +449,13 @@ TEST_CASE( "Long text is truncted", "[Text][Truncated]" ) {
CHECK_THAT( t.toString(), EndsWith( "... message truncated due to excessive size" ) );
}
inline void manuallyRegisteredTestFunction() {
SUCCEED( "was called" );
}
struct AutoTestReg {
AutoTestReg() {
REGISTER_TEST_CASE( manuallyRegisteredTestFunction, "ManuallyRegistered", "" );
}
};
AutoTestReg autoTestReg;