Marked tests that use C++11 features with [c++11] tag and exclude them from approval tests

This commit is contained in:
Phil Nash 2017-01-09 14:26:59 +00:00
parent 976a655496
commit 1ae84897d4
9 changed files with 22 additions and 352 deletions

View File

@ -830,6 +830,6 @@ with expansion:
"first" == "second"
===============================================================================
test cases: 169 | 125 passed | 42 failed | 2 failed as expected
assertions: 921 | 825 passed | 78 failed | 18 failed as expected
test cases: 159 | 115 passed | 42 failed | 2 failed as expected
assertions: 906 | 810 passed | 78 failed | 18 failed as expected

View File

@ -8060,20 +8060,6 @@ MessageTests.cpp:<line number>: FAILED:
explicitly with message:
Previous info should not be seen
-------------------------------------------------------------------------------
long long
-------------------------------------------------------------------------------
MiscTests.cpp:<line number>
...............................................................................
MiscTests.cpp:<line number>:
PASSED:
REQUIRE( l == std::numeric_limits<long long>::max() )
with expansion:
9223372036854775807 (0x<hex digits>)
==
9223372036854775807 (0x<hex digits>)
-------------------------------------------------------------------------------
looped SECTION tests
s1
@ -8263,18 +8249,6 @@ PASSED:
with expansion:
{null string} == {null string}
-------------------------------------------------------------------------------
null_ptr
-------------------------------------------------------------------------------
TrickyTests.cpp:<line number>
...............................................................................
TrickyTests.cpp:<line number>:
PASSED:
REQUIRE( ptr.get() == 0 )
with expansion:
NULL == 0
-------------------------------------------------------------------------------
pair<pair<int,const char *,pair<std::string,int> > -> toString
-------------------------------------------------------------------------------
@ -8668,50 +8642,6 @@ PASSED:
with expansion:
"{ {?} }" == "{ {?} }"
-------------------------------------------------------------------------------
toString(enum class w/operator<<)
-------------------------------------------------------------------------------
EnumToString.cpp:<line number>
...............................................................................
EnumToString.cpp:<line number>:
PASSED:
CHECK( Catch::toString(e0) == "E2/V0" )
with expansion:
"E2/V0" == "E2/V0"
EnumToString.cpp:<line number>:
PASSED:
CHECK( Catch::toString(e1) == "E2/V1" )
with expansion:
"E2/V1" == "E2/V1"
EnumToString.cpp:<line number>:
PASSED:
CHECK( Catch::toString(e3) == "Unknown enum value 10" )
with expansion:
"Unknown enum value 10"
==
"Unknown enum value 10"
-------------------------------------------------------------------------------
toString(enum class)
-------------------------------------------------------------------------------
EnumToString.cpp:<line number>
...............................................................................
EnumToString.cpp:<line number>:
PASSED:
CHECK( Catch::toString(e0) == "0" )
with expansion:
"0" == "0"
EnumToString.cpp:<line number>:
PASSED:
CHECK( Catch::toString(e1) == "1" )
with expansion:
"1" == "1"
-------------------------------------------------------------------------------
toString(enum w/operator<<)
-------------------------------------------------------------------------------
@ -8748,96 +8678,6 @@ PASSED:
with expansion:
"1" == "1"
-------------------------------------------------------------------------------
tuple<>
-------------------------------------------------------------------------------
ToStringTuple.cpp:<line number>
...............................................................................
ToStringTuple.cpp:<line number>:
PASSED:
CHECK( "{ }" == Catch::toString(type{}) )
with expansion:
"{ }" == "{ }"
ToStringTuple.cpp:<line number>:
PASSED:
CHECK( "{ }" == Catch::toString(value) )
with expansion:
"{ }" == "{ }"
-------------------------------------------------------------------------------
tuple<float,int>
-------------------------------------------------------------------------------
ToStringTuple.cpp:<line number>
...............................................................................
ToStringTuple.cpp:<line number>:
PASSED:
CHECK( "1.2f" == Catch::toString(float(1.2)) )
with expansion:
"1.2f" == "1.2f"
ToStringTuple.cpp:<line number>:
PASSED:
CHECK( "{ 1.2f, 0 }" == Catch::toString(type{1.2,0}) )
with expansion:
"{ 1.2f, 0 }" == "{ 1.2f, 0 }"
-------------------------------------------------------------------------------
tuple<int>
-------------------------------------------------------------------------------
ToStringTuple.cpp:<line number>
...............................................................................
ToStringTuple.cpp:<line number>:
PASSED:
CHECK( "{ 0 }" == Catch::toString(type{0}) )
with expansion:
"{ 0 }" == "{ 0 }"
-------------------------------------------------------------------------------
tuple<0,int,const char *>
-------------------------------------------------------------------------------
ToStringTuple.cpp:<line number>
...............................................................................
ToStringTuple.cpp:<line number>:
PASSED:
CHECK( "{ 0, 42, \"Catch me\" }" == Catch::toString(value) )
with expansion:
"{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
-------------------------------------------------------------------------------
tuple<string,string>
-------------------------------------------------------------------------------
ToStringTuple.cpp:<line number>
...............................................................................
ToStringTuple.cpp:<line number>:
PASSED:
CHECK( "{ \"hello\", \"world\" }" == Catch::toString(type{"hello","world"}) )
with expansion:
"{ "hello", "world" }"
==
"{ "hello", "world" }"
-------------------------------------------------------------------------------
tuple<tuple<int>,tuple<>,float>
-------------------------------------------------------------------------------
ToStringTuple.cpp:<line number>
...............................................................................
ToStringTuple.cpp:<line number>:
PASSED:
CHECK( "{ { 42 }, { }, 1.2f }" == Catch::toString(value) )
with expansion:
"{ { 42 }, { }, 1.2f }"
==
"{ { 42 }, { }, 1.2f }"
-------------------------------------------------------------------------------
vec<vec<string,alloc>> -> toString
-------------------------------------------------------------------------------
@ -9115,6 +8955,6 @@ MiscTests.cpp:<line number>:
PASSED:
===============================================================================
test cases: 169 | 124 passed | 43 failed | 2 failed as expected
assertions: 923 | 825 passed | 80 failed | 18 failed as expected
test cases: 159 | 114 passed | 43 failed | 2 failed as expected
assertions: 908 | 810 passed | 80 failed | 18 failed as expected

View File

@ -1,6 +1,6 @@
<?xml version="1.1" encoding="UTF-8"?>
<testsuites>
<testsuite name="CatchSelfTest" errors="13" failures="68" tests="924" hostname="tbd" time="{duration}" timestamp="tbd">
<testsuite name="CatchSelfTest" errors="13" failures="68" tests="909" hostname="tbd" time="{duration}" timestamp="tbd">
<testcase classname="global" name="# A test name that starts with a #" time="{duration}"/>
<testcase classname="global" name="'Not' checks that should fail" time="{duration}">
<failure message="false != false" type="CHECK">
@ -567,7 +567,6 @@ Previous info should not be seen
MessageTests.cpp:<line number>
</failure>
</testcase>
<testcase classname="global" name="long long" time="{duration}"/>
<testcase classname="looped SECTION tests" name="s1" time="{duration}">
<failure message="0 > 1" type="CHECK">
MiscTests.cpp:<line number>
@ -611,7 +610,6 @@ MiscTests.cpp:<line number>
<testcase classname="global" name="non streamable - with conv. op" time="{duration}"/>
<testcase classname="global" name="not allowed" time="{duration}"/>
<testcase classname="global" name="null strings" time="{duration}"/>
<testcase classname="global" name="null_ptr" time="{duration}"/>
<testcase classname="global" name="pair&lt;pair&lt;int,const char *,pair&lt;std::string,int> > -> toString" time="{duration}"/>
<testcase classname="global" name="pointer to class" time="{duration}"/>
<testcase classname="random SECTION tests" name="s1" time="{duration}"/>
@ -654,16 +652,8 @@ TrickyTests.cpp:<line number>
<testcase classname="global" name="toString( vectors&lt;has_maker )" time="{duration}"/>
<testcase classname="global" name="toString( vectors&lt;has_maker_and_toString )" time="{duration}"/>
<testcase classname="global" name="toString( vectors&lt;has_toString )" time="{duration}"/>
<testcase classname="global" name="toString(enum class w/operator&lt;&lt;)" time="{duration}"/>
<testcase classname="global" name="toString(enum class)" time="{duration}"/>
<testcase classname="global" name="toString(enum w/operator&lt;&lt;)" time="{duration}"/>
<testcase classname="global" name="toString(enum)" time="{duration}"/>
<testcase classname="global" name="tuple&lt;>" time="{duration}"/>
<testcase classname="global" name="tuple&lt;float,int>" time="{duration}"/>
<testcase classname="global" name="tuple&lt;int>" time="{duration}"/>
<testcase classname="global" name="tuple&lt;0,int,const char *>" time="{duration}"/>
<testcase classname="global" name="tuple&lt;string,string>" time="{duration}"/>
<testcase classname="global" name="tuple&lt;tuple&lt;int>,tuple&lt;>,float>" time="{duration}"/>
<testcase classname="global" name="vec&lt;vec&lt;string,alloc>> -> toString" time="{duration}"/>
<testcase classname="global" name="vector&lt;int,allocator> -> toString" time="{duration}"/>
<testcase classname="global" name="vector&lt;int> -> toString" time="{duration}"/>

View File

@ -8502,19 +8502,6 @@ there"
<TestCase name="just info">
<OverallResult success="true"/>
</TestCase>
<TestCase name="long long">
<Expression success="true" type="REQUIRE" filename="projects/SelfTest/MiscTests.cpp" >
<Original>
l == std::numeric_limits&lt;long long>::max()
</Original>
<Expanded>
9223372036854775807 (0x<hex digits>)
==
9223372036854775807 (0x<hex digits>)
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="looped SECTION tests">
<Section name="s1" description="b is currently: 0">
<Expression success="false" type="CHECK" filename="projects/SelfTest/MiscTests.cpp" >
@ -8725,17 +8712,6 @@ there"
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="null_ptr">
<Expression success="true" type="REQUIRE" filename="projects/SelfTest/TrickyTests.cpp" >
<Original>
ptr.get() == 0
</Original>
<Expanded>
NULL == 0
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="pair&lt;pair&lt;int,const char *,pair&lt;std::string,int> > -> toString">
<Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringPair.cpp" >
<Original>
@ -9129,54 +9105,6 @@ there"
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString(enum class w/operator&lt;&lt;)">
<Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
<Original>
Catch::toString(e0) == "E2/V0"
</Original>
<Expanded>
"E2/V0" == "E2/V0"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
<Original>
Catch::toString(e1) == "E2/V1"
</Original>
<Expanded>
"E2/V1" == "E2/V1"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
<Original>
Catch::toString(e3) == "Unknown enum value 10"
</Original>
<Expanded>
"Unknown enum value 10"
==
"Unknown enum value 10"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString(enum class)">
<Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
<Original>
Catch::toString(e0) == "0"
</Original>
<Expanded>
"0" == "0"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
<Original>
Catch::toString(e1) == "1"
</Original>
<Expanded>
"1" == "1"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="toString(enum w/operator&lt;&lt;)">
<Expression success="true" type="CHECK" filename="projects/SelfTest/EnumToString.cpp" >
<Original>
@ -9215,94 +9143,6 @@ there"
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;>">
<Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
<Original>
"{ }" == Catch::toString(type{})
</Original>
<Expanded>
"{ }" == "{ }"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
<Original>
"{ }" == Catch::toString(value)
</Original>
<Expanded>
"{ }" == "{ }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;float,int>">
<Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
<Original>
"1.2f" == Catch::toString(float(1.2))
</Original>
<Expanded>
"1.2f" == "1.2f"
</Expanded>
</Expression>
<Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
<Original>
"{ 1.2f, 0 }" == Catch::toString(type{1.2,0})
</Original>
<Expanded>
"{ 1.2f, 0 }" == "{ 1.2f, 0 }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;int>">
<Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
<Original>
"{ 0 }" == Catch::toString(type{0})
</Original>
<Expanded>
"{ 0 }" == "{ 0 }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;0,int,const char *>">
<Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
<Original>
"{ 0, 42, \"Catch me\" }" == Catch::toString(value)
</Original>
<Expanded>
"{ 0, 42, "Catch me" }"
==
"{ 0, 42, "Catch me" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;string,string>">
<Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
<Original>
"{ \"hello\", \"world\" }" == Catch::toString(type{"hello","world"})
</Original>
<Expanded>
"{ "hello", "world" }"
==
"{ "hello", "world" }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="tuple&lt;tuple&lt;int>,tuple&lt;>,float>">
<Expression success="true" type="CHECK" filename="projects/SelfTest/ToStringTuple.cpp" >
<Original>
"{ { 42 }, { }, 1.2f }" == Catch::toString(value)
</Original>
<Expanded>
"{ { 42 }, { }, 1.2f }"
==
"{ { 42 }, { }, 1.2f }"
</Expanded>
</Expression>
<OverallResult success="true"/>
</TestCase>
<TestCase name="vec&lt;vec&lt;string,alloc>> -> toString">
<Expression success="true" type="REQUIRE" filename="projects/SelfTest/ToStringVector.cpp" >
<Original>
@ -9570,7 +9410,7 @@ there"
</Section>
<OverallResult success="true"/>
</TestCase>
<OverallResults successes="825" failures="81" expectedFailures="18"/>
<OverallResults successes="810" failures="81" expectedFailures="18"/>
</Group>
<OverallResults successes="825" failures="80" expectedFailures="18"/>
<OverallResults successes="810" failures="80" expectedFailures="18"/>
</Catch>

View File

@ -38,7 +38,7 @@ TEST_CASE( "toString(enum w/operator<<)", "[toString][enum]" ) {
// Enum class without user-provided stream operator
enum class EnumClass1 { EnumClass1Value0, EnumClass1Value1 };
TEST_CASE( "toString(enum class)", "[toString][enum][enumClass]" ) {
TEST_CASE( "toString(enum class)", "[toString][enum][enumClass][c++11][.]" ) {
EnumClass1 e0 = EnumClass1::EnumClass1Value0;
CHECK( Catch::toString(e0) == "0" );
EnumClass1 e1 = EnumClass1::EnumClass1Value1;
@ -59,7 +59,7 @@ inline std::ostream& operator<<( std::ostream& os, EnumClass2 e2 ) {
}
}
TEST_CASE( "toString(enum class w/operator<<)", "[toString][enum][enumClass]" ) {
TEST_CASE( "toString(enum class w/operator<<)", "[toString][enum][enumClass][c++11][.]" ) {
EnumClass2 e0 = EnumClass2::EnumClass2Value0;
CHECK( Catch::toString(e0) == "E2/V0" );
EnumClass2 e1 = EnumClass2::EnumClass2Value1;

View File

@ -466,7 +466,7 @@ TEST_CASE( "XmlEncode" ) {
}
#ifdef CATCH_CONFIG_CPP11_LONG_LONG
TEST_CASE( "long long" ) {
TEST_CASE( "long long", "[c++11][.]" ) {
long long l = std::numeric_limits<long long>::max();
REQUIRE( l == std::numeric_limits<long long>::max() );

View File

@ -7,7 +7,7 @@
#pragma clang diagnostic ignored "-Wc++98-compat"
#endif
TEST_CASE( "tuple<>", "[toString][tuple]" )
TEST_CASE( "tuple<>", "[toString][tuple][c++11][.]" )
{
typedef std::tuple<> type;
CHECK( "{ }" == Catch::toString(type{}) );
@ -15,27 +15,27 @@ TEST_CASE( "tuple<>", "[toString][tuple]" )
CHECK( "{ }" == Catch::toString(value) );
}
TEST_CASE( "tuple<int>", "[toString][tuple]" )
TEST_CASE( "tuple<int>", "[toString][tuple][c++11][.]" )
{
typedef std::tuple<int> type;
CHECK( "{ 0 }" == Catch::toString(type{0}) );
}
TEST_CASE( "tuple<float,int>", "[toString][tuple]" )
TEST_CASE( "tuple<float,int>", "[toString][tuple][c++11][.]" )
{
typedef std::tuple<float,int> type;
CHECK( "1.2f" == Catch::toString(float(1.2)) );
CHECK( "{ 1.2f, 0 }" == Catch::toString(type{1.2,0}) );
}
TEST_CASE( "tuple<string,string>", "[toString][tuple]" )
TEST_CASE( "tuple<string,string>", "[toString][tuple][c++11][.]" )
{
typedef std::tuple<std::string,std::string> type;
CHECK( "{ \"hello\", \"world\" }" == Catch::toString(type{"hello","world"}) );
}
TEST_CASE( "tuple<tuple<int>,tuple<>,float>", "[toString][tuple]" )
TEST_CASE( "tuple<tuple<int>,tuple<>,float>", "[toString][tuple][c++11][.]" )
{
typedef std::tuple<std::tuple<int>,std::tuple<>,float> type;
type value { std::tuple<int>{42}, {}, 1.2f };
@ -43,7 +43,7 @@ TEST_CASE( "tuple<tuple<int>,tuple<>,float>", "[toString][tuple]" )
}
#ifdef CATCH_CONFIG_CPP11_NULLPTR
TEST_CASE( "tuple<nullptr,int,const char *>", "[toString][tuple]" )
TEST_CASE( "tuple<nullptr,int,const char *>", "[toString][tuple][c++11][.]" )
{
typedef std::tuple<std::nullptr_t,int,const char *> type;
type value { nullptr, 42, "Catch me" };

View File

@ -387,7 +387,7 @@ TEST_CASE( "pointer to class", "[Tricky]" )
#include <memory>
TEST_CASE( "null_ptr", "[Tricky][c++11]" )
TEST_CASE( "null_ptr", "[Tricky][c++11][.]" )
{
std::unique_ptr<int> ptr;
REQUIRE(ptr.get() == nullptr);

View File

@ -114,15 +114,15 @@ print("Running approvals against executable:")
print(" " + cmdPath)
# Standard console reporter
approve("console.std", ["~_", "--order", "lex"])
approve("console.std", ["~[c++11]", "--order", "lex"])
# console reporter, include passes, warn about No Assertions
approve("console.sw", ["~_", "-s", "-w", "NoAssertions", "--order", "lex"])
approve("console.sw", ["~[c++11]", "-s", "-w", "NoAssertions", "--order", "lex"])
# console reporter, include passes, warn about No Assertions, limit failures to first 4
approve("console.swa4", ["~_", "-s", "-w", "NoAssertions", "-x", "4", "--order", "lex"])
approve("console.swa4", ["~[c++11]", "-s", "-w", "NoAssertions", "-x", "4", "--order", "lex"])
# junit reporter, include passes, warn about No Assertions
approve("junit.sw", ["~_", "-s", "-w", "NoAssertions", "-r", "junit", "--order", "lex"])
approve("junit.sw", ["~[c++11]", "-s", "-w", "NoAssertions", "-r", "junit", "--order", "lex"])
# xml reporter, include passes, warn about No Assertions
approve("xml.sw", ["~_", "-s", "-w", "NoAssertions", "-r", "xml", "--order", "lex"])
approve("xml.sw", ["~[c++11]", "-s", "-w", "NoAssertions", "-r", "xml", "--order", "lex"])
if overallResult != 0:
print("If these differenecs are expected run approve.py to approve new baselines")