diff options
| author | Martin Hořeňovský | 2022-07-17 14:00:04 +0200 |
|---|---|---|
| committer | Martin Hořeňovský | 2022-07-17 19:15:20 +0200 |
| commit | 9c9f35068edaa1290789c56f241fc54e7de0eeb0 (patch) | |
| tree | 21e6acbce31ac5fcf0145e627bc88ce2e0cec935 /tests | |
| parent | 1bd233866c5ba1d94fbea34b260685b4b4ecb796 (diff) | |
| download | catch3-9c9f35068edaa1290789c56f241fc54e7de0eeb0.tar.gz | |
Normalize C++ namespace in JUnit's reporter classname field
Closes #2468
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | tests/SelfTest/UsageTests/Class.tests.cpp | 16 |
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d029e05d..0a605e12 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -553,6 +553,17 @@ set_tests_properties("Colours::ColourModeCanBeExplicitlySetToAnsi" PASS_REGULAR_EXPRESSION "\\[1\;32mAll tests passed" ) +add_test(NAME "Reporters::JUnit::NamespacesAreNormalized" + COMMAND + $<TARGET_FILE:SelfTest> + --reporter junit + "A TEST_CASE_METHOD testing junit classname normalization" +) +set_tests_properties("Reporters::JUnit::NamespacesAreNormalized" + PROPERTIES + PASS_REGULAR_EXPRESSION "testcase classname=\"SelfTest(\.exe)?\\.A\\.B\\.TestClass\"" +) + if (CATCH_ENABLE_CONFIGURE_TESTS) foreach(testName "DefaultReporter" "Disable" "DisableStringification" "ExperimentalRedirect") diff --git a/tests/SelfTest/UsageTests/Class.tests.cpp b/tests/SelfTest/UsageTests/Class.tests.cpp index 2bdc8d81..6b2ba4cf 100644 --- a/tests/SelfTest/UsageTests/Class.tests.cpp +++ b/tests/SelfTest/UsageTests/Class.tests.cpp @@ -114,4 +114,20 @@ namespace Inner { REQUIRE(Template_Fixture_2<TestType>{}.m_a.size() < 2); } +} // namespace + + +// We want a class in nested namespace so we can test JUnit's classname normalization. +namespace { + namespace A { + namespace B { + class TestClass {}; + } + } +} // namespace + +TEST_CASE_METHOD( A::B::TestClass, + "A TEST_CASE_METHOD testing junit classname normalization", + "[class][approvals]" ) { + SUCCEED(); } |