mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-22 05:16:10 +01:00
Change reporters to report filters in round-trippable format
This commit is contained in:
parent
d2294ad9b6
commit
d41da10c54
@ -207,7 +207,7 @@ private:
|
|||||||
if ( m_config->testSpec().hasFilters() ) {
|
if ( m_config->testSpec().hasFilters() ) {
|
||||||
m_stream << m_colour->guardColour( Colour::BrightYellow )
|
m_stream << m_colour->guardColour( Colour::BrightYellow )
|
||||||
<< "Filters: "
|
<< "Filters: "
|
||||||
<< serializeFilters( m_config->getTestsOrTags() )
|
<< m_config->testSpec()
|
||||||
<< '\n';
|
<< '\n';
|
||||||
}
|
}
|
||||||
m_stream << "RNG seed: " << getSeed() << '\n';
|
m_stream << "RNG seed: " << getSeed() << '\n';
|
||||||
|
@ -499,7 +499,7 @@ void ConsoleReporter::testRunStarting(TestRunInfo const& _testInfo) {
|
|||||||
StreamingReporterBase::testRunStarting(_testInfo);
|
StreamingReporterBase::testRunStarting(_testInfo);
|
||||||
if ( m_config->testSpec().hasFilters() ) {
|
if ( m_config->testSpec().hasFilters() ) {
|
||||||
m_stream << m_colour->guardColour( Colour::BrightYellow ) << "Filters: "
|
m_stream << m_colour->guardColour( Colour::BrightYellow ) << "Filters: "
|
||||||
<< serializeFilters( m_config->getTestsOrTags() ) << '\n';
|
<< m_config->testSpec() << '\n';
|
||||||
}
|
}
|
||||||
m_stream << "Randomness seeded to: " << getSeed() << '\n';
|
m_stream << "Randomness seeded to: " << getSeed() << '\n';
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include <catch2/internal/catch_textflow.hpp>
|
#include <catch2/internal/catch_textflow.hpp>
|
||||||
#include <catch2/interfaces/catch_interfaces_config.hpp>
|
#include <catch2/interfaces/catch_interfaces_config.hpp>
|
||||||
#include <catch2/catch_test_case_info.hpp>
|
#include <catch2/catch_test_case_info.hpp>
|
||||||
|
#include <catch2/catch_test_spec.hpp>
|
||||||
#include <catch2/internal/catch_move_and_forward.hpp>
|
#include <catch2/internal/catch_move_and_forward.hpp>
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
@ -143,10 +144,10 @@ namespace Catch {
|
|||||||
xml.scopedElement("property")
|
xml.scopedElement("property")
|
||||||
.writeAttribute("name"_sr, "random-seed"_sr)
|
.writeAttribute("name"_sr, "random-seed"_sr)
|
||||||
.writeAttribute("value"_sr, m_config->rngSeed());
|
.writeAttribute("value"_sr, m_config->rngSeed());
|
||||||
if (m_config->hasTestFilters()) {
|
if (m_config->testSpec().hasFilters()) {
|
||||||
xml.scopedElement("property")
|
xml.scopedElement("property")
|
||||||
.writeAttribute("name"_sr, "filters"_sr)
|
.writeAttribute("name"_sr, "filters"_sr)
|
||||||
.writeAttribute("value"_sr, serializeFilters(m_config->getTestsOrTags()));
|
.writeAttribute("value"_sr, m_config->testSpec());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ namespace Catch {
|
|||||||
ReusableStringStream sstr;
|
ReusableStringStream sstr;
|
||||||
if ( config.testSpec().hasFilters() ) {
|
if ( config.testSpec().hasFilters() ) {
|
||||||
sstr << "filters='"
|
sstr << "filters='"
|
||||||
<< serializeFilters( config.getTestsOrTags() )
|
<< config.testSpec()
|
||||||
<< "' ";
|
<< "' ";
|
||||||
}
|
}
|
||||||
sstr << "rng-seed=" << config.rngSeed();
|
sstr << "rng-seed=" << config.rngSeed();
|
||||||
|
@ -189,8 +189,7 @@ namespace Catch {
|
|||||||
|
|
||||||
void TAPReporter::testRunStarting( TestRunInfo const& ) {
|
void TAPReporter::testRunStarting( TestRunInfo const& ) {
|
||||||
if ( m_config->testSpec().hasFilters() ) {
|
if ( m_config->testSpec().hasFilters() ) {
|
||||||
m_stream << "# filters: "
|
m_stream << "# filters: " << m_config->testSpec() << '\n';
|
||||||
<< serializeFilters( m_config->getTestsOrTags() ) << '\n';
|
|
||||||
}
|
}
|
||||||
m_stream << "# rng-seed: " << m_config->rngSeed() << '\n';
|
m_stream << "# rng-seed: " << m_config->rngSeed() << '\n';
|
||||||
}
|
}
|
||||||
|
@ -57,8 +57,9 @@ namespace Catch {
|
|||||||
.writeAttribute("name"_sr, m_config->name())
|
.writeAttribute("name"_sr, m_config->name())
|
||||||
.writeAttribute("rng-seed"_sr, m_config->rngSeed())
|
.writeAttribute("rng-seed"_sr, m_config->rngSeed())
|
||||||
.writeAttribute("catch2-version"_sr, libraryVersion());
|
.writeAttribute("catch2-version"_sr, libraryVersion());
|
||||||
if (m_config->testSpec().hasFilters())
|
if ( m_config->testSpec().hasFilters() ) {
|
||||||
m_xml.writeAttribute( "filters"_sr, serializeFilters( m_config->getTestsOrTags() ) );
|
m_xml.writeAttribute( "filters"_sr, m_config->testSpec() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void XmlReporter::testCaseStarting( TestCaseInfo const& testInfo ) {
|
void XmlReporter::testCaseStarting( TestCaseInfo const& testInfo ) {
|
||||||
|
@ -611,9 +611,15 @@ foreach (reporterName # "Automake" - the simple .trs format does not support any
|
|||||||
$<TARGET_FILE:SelfTest> [comparisons][string-case] "CaseInsensitiveLess is case insensitive"
|
$<TARGET_FILE:SelfTest> [comparisons][string-case] "CaseInsensitiveLess is case insensitive"
|
||||||
--reporter ${reporterName}
|
--reporter ${reporterName}
|
||||||
)
|
)
|
||||||
|
# Different regex for these two reporters, because the commas end up xml-escaped
|
||||||
|
if (reporterName MATCHES "JUnit|XML")
|
||||||
|
set(testCaseNameFormat ""CaseInsensitiveLess is case insensitive"")
|
||||||
|
else()
|
||||||
|
set(testCaseNameFormat "\"CaseInsensitiveLess is case insensitive\"")
|
||||||
|
endif()
|
||||||
set_tests_properties("Reporters:Filters:${reporterName}"
|
set_tests_properties("Reporters:Filters:${reporterName}"
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
PASS_REGULAR_EXPRESSION "[fF]ilters.+\\[comparisons\\]\\[string-case\\]"
|
PASS_REGULAR_EXPRESSION "[fF]ilters.+\\[comparisons\\] \\[string-case\\] ${testCaseNameFormat}"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_test(NAME "Reporters:RngSeed:${reporterName}"
|
add_test(NAME "Reporters:RngSeed:${reporterName}"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Filters: ~[!nonportable]~[!benchmark]~[approvals] *
|
Filters: "*" ~[!nonportable] ~[!benchmark] ~[approvals]
|
||||||
RNG seed: 1
|
RNG seed: 1
|
||||||
Misc.tests.cpp:<line number>: passed: with 1 message: 'yay'
|
Misc.tests.cpp:<line number>: passed: with 1 message: 'yay'
|
||||||
Compilation.tests.cpp:<line number>: passed: y.v == 0 for: 0 == 0
|
Compilation.tests.cpp:<line number>: passed: y.v == 0 for: 0 == 0
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Filters: ~[!nonportable]~[!benchmark]~[approvals] *
|
Filters: "*" ~[!nonportable] ~[!benchmark] ~[approvals]
|
||||||
RNG seed: 1
|
RNG seed: 1
|
||||||
Misc.tests.cpp:<line number>: passed: with 1 message: 'yay'
|
Misc.tests.cpp:<line number>: passed: with 1 message: 'yay'
|
||||||
Compilation.tests.cpp:<line number>: passed: y.v == 0 for: 0 == 0
|
Compilation.tests.cpp:<line number>: passed: y.v == 0 for: 0 == 0
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Filters: ~[!nonportable]~[!benchmark]~[approvals] *
|
Filters: "*" ~[!nonportable] ~[!benchmark] ~[approvals]
|
||||||
Randomness seeded to: 1
|
Randomness seeded to: 1
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Filters: ~[!nonportable]~[!benchmark]~[approvals] *
|
Filters: "*" ~[!nonportable] ~[!benchmark] ~[approvals]
|
||||||
Randomness seeded to: 1
|
Randomness seeded to: 1
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Filters: ~[!nonportable]~[!benchmark]~[approvals] *
|
Filters: "*" ~[!nonportable] ~[!benchmark] ~[approvals]
|
||||||
Randomness seeded to: 1
|
Randomness seeded to: 1
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Filters: ~[!nonportable]~[!benchmark]~[approvals] *
|
Filters: "*" ~[!nonportable] ~[!benchmark] ~[approvals]
|
||||||
Randomness seeded to: 1
|
Randomness seeded to: 1
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<testsuite name="<exe-name>" errors="17" failures="126" tests="2159" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
|
<testsuite name="<exe-name>" errors="17" failures="126" tests="2159" 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]"/>
|
||||||
</properties>
|
</properties>
|
||||||
<testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}" status="run"/>
|
<testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}" status="run"/>
|
||||||
<testcase classname="<exe-name>.global" name="#1027: Bitfields can be captured" time="{duration}" status="run"/>
|
<testcase classname="<exe-name>.global" name="#1027: Bitfields can be captured" time="{duration}" status="run"/>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<testsuite name="<exe-name>" errors="17" failures="126" tests="2159" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
|
<testsuite name="<exe-name>" errors="17" failures="126" tests="2159" 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]"/>
|
||||||
</properties>
|
</properties>
|
||||||
<testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}" status="run"/>
|
<testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}" status="run"/>
|
||||||
<testcase classname="<exe-name>.global" name="#1027: Bitfields can be captured" time="{duration}" status="run"/>
|
<testcase classname="<exe-name>.global" name="#1027: Bitfields can be captured" time="{duration}" status="run"/>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- filters='~[!nonportable]~[!benchmark]~[approvals] *' rng-seed=1 -->
|
<!-- filters='"*" ~[!nonportable] ~[!benchmark] ~[approvals]' rng-seed=1 -->
|
||||||
<testExecutions version="1"loose text artifact
|
<testExecutions version="1"loose text artifact
|
||||||
>
|
>
|
||||||
<file path="tests/<exe-name>/IntrospectiveTests/Clara.tests.cpp">
|
<file path="tests/<exe-name>/IntrospectiveTests/Clara.tests.cpp">
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- filters='~[!nonportable]~[!benchmark]~[approvals] *' rng-seed=1 -->
|
<!-- filters='"*" ~[!nonportable] ~[!benchmark] ~[approvals]' rng-seed=1 -->
|
||||||
<testExecutions version="1">
|
<testExecutions version="1">
|
||||||
<file path="tests/<exe-name>/IntrospectiveTests/Clara.tests.cpp">
|
<file path="tests/<exe-name>/IntrospectiveTests/Clara.tests.cpp">
|
||||||
<testCase name="Clara::Arg supports single-arg parse the way Opt does" duration="{duration}"/>
|
<testCase name="Clara::Arg supports single-arg parse the way Opt does" duration="{duration}"/>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# filters: ~[!nonportable]~[!benchmark]~[approvals] *
|
# filters: "*" ~[!nonportable] ~[!benchmark] ~[approvals]
|
||||||
# rng-seed: 1
|
# rng-seed: 1
|
||||||
# # A test name that starts with a #
|
# # A test name that starts with a #
|
||||||
ok {test-number} - with 1 message: 'yay'
|
ok {test-number} - with 1 message: 'yay'
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# filters: ~[!nonportable]~[!benchmark]~[approvals] *
|
# filters: "*" ~[!nonportable] ~[!benchmark] ~[approvals]
|
||||||
# rng-seed: 1
|
# rng-seed: 1
|
||||||
# # A test name that starts with a #
|
# # A test name that starts with a #
|
||||||
ok {test-number} - with 1 message: 'yay'
|
ok {test-number} - with 1 message: 'yay'
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Catch2TestRun name="<exe-name>" rng-seed="1" catch2-version="<version>" filters="~[!nonportable]~[!benchmark]~[approvals] *">
|
<Catch2TestRun name="<exe-name>" rng-seed="1" catch2-version="<version>" filters=""*" ~[!nonportable] ~[!benchmark] ~[approvals]">
|
||||||
<TestCase name="# A test name that starts with a #" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
<TestCase name="# A test name that starts with a #" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||||
<OverallResult success="true"/>
|
<OverallResult success="true"/>
|
||||||
</TestCase>
|
</TestCase>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Catch2TestRun name="<exe-name>" rng-seed="1" catch2-version="<version>" filters="~[!nonportable]~[!benchmark]~[approvals] *">
|
<Catch2TestRun name="<exe-name>" rng-seed="1" catch2-version="<version>" filters=""*" ~[!nonportable] ~[!benchmark] ~[approvals]">
|
||||||
<TestCase name="# A test name that starts with a #" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
<TestCase name="# A test name that starts with a #" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
|
||||||
<OverallResult success="true"/>
|
<OverallResult success="true"/>
|
||||||
</TestCase>
|
</TestCase>
|
||||||
|
Loading…
Reference in New Issue
Block a user