diff options
author | Egor Suvorov <egor.suvorov@gmail.com> | 2022-03-05 15:36:58 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-05 15:36:58 +0300 |
commit | bef19659da2b7ca49feec44fd0756072470836a0 (patch) | |
tree | 0be335e24c95479a3aa5d02fb82271d7a31a5b1b /examples | |
parent | 3e1011c6957570a5eba37c0e42d4202045bef1d9 (diff) |
Allow escaping backslash with backslash in filters (#614) (#616)
* Allow escaping backslash with backslash in filters (#614)
* Add test
* Strengthen test conditions
Co-authored-by: Salvage <29021710+Saalvage@users.noreply.github.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/all_features/CMakeLists.txt | 1 | ||||
-rw-r--r-- | examples/all_features/subcases.cpp | 18 | ||||
-rw-r--r-- | examples/all_features/test_output/filter_2.txt | 2 | ||||
-rw-r--r-- | examples/all_features/test_output/filter_2_xml.txt | 6 | ||||
-rw-r--r-- | examples/all_features/test_output/filter_3.txt | 9 | ||||
-rw-r--r-- | examples/all_features/test_output/filter_3_junit.txt | 2 | ||||
-rw-r--r-- | examples/all_features/test_output/filter_3_xml.txt | 15 | ||||
-rw-r--r-- | examples/all_features/test_output/filter_4.txt | 22 | ||||
-rw-r--r-- | examples/all_features/test_output/filter_4_junit.txt | 8 | ||||
-rw-r--r-- | examples/all_features/test_output/filter_4_xml.txt | 26 | ||||
-rw-r--r-- | examples/all_features/test_output/subcases.cpp.txt | 33 | ||||
-rw-r--r-- | examples/all_features/test_output/subcases.cpp_junit.txt | 4 | ||||
-rw-r--r-- | examples/all_features/test_output/subcases.cpp_xml.txt | 36 |
13 files changed, 176 insertions, 6 deletions
diff --git a/examples/all_features/CMakeLists.txt b/examples/all_features/CMakeLists.txt index 3f4c8372..4d2fe1bd 100644 --- a/examples/all_features/CMakeLists.txt +++ b/examples/all_features/CMakeLists.txt @@ -89,6 +89,7 @@ doctest_add_test(NAME filter_1 ${common_args} -ts=none) # should filter out a # -order-by=name to avoid different output depending on the compiler used. See https://github.com/doctest/doctest/issues/287 doctest_add_test(NAME filter_2 COMMAND $<TARGET_FILE:all_features> -tse=* -nv -order-by=name) # should filter out all + print skipped doctest_add_test(NAME filter_3 ${common_args} -sc=from*,sc* -sce=sc2 -sf=*subcases*) # enter a specific subcase - sc1 +doctest_add_test(NAME filter_4 ${common_args} -ts=*\\, -tc=*\\: -sc=*\\\\\\,,*:) # escape stuff doctest_add_test(NAME order_1 ${common_args} -ob=suite -ns -sf=*test_cases_and_suites*) doctest_add_test(NAME order_2 ${common_args} -ob=name -sf=*test_cases_and_suites*) doctest_add_test(NAME order_3 ${common_args} -ob=rand -sfe=*) # exclude everything for no output diff --git a/examples/all_features/subcases.cpp b/examples/all_features/subcases.cpp index 506fdb7d..df42b9d0 100644 --- a/examples/all_features/subcases.cpp +++ b/examples/all_features/subcases.cpp @@ -158,3 +158,21 @@ TEST_CASE("subcases with changing names") { MESSAGE("separate msg!"); } } + +TEST_SUITE("with a funny name,") { + TEST_CASE("with a funnier name\\:") { + SUBCASE("with the funniest name\\,") { + MESSAGE("Yes!"); + } + SUBCASE("with a slightly funny name :") { + MESSAGE("Yep!"); + } + SUBCASE("without a funny name") { + MESSAGE("NO!"); + } + } + + TEST_CASE("without a funny name:") { + MESSAGE("Nooo"); + } +} diff --git a/examples/all_features/test_output/filter_2.txt b/examples/all_features/test_output/filter_2.txt index 662a7e29..a076fd20 100644 --- a/examples/all_features/test_output/filter_2.txt +++ b/examples/all_features/test_output/filter_2.txt @@ -1,6 +1,6 @@ [doctest] run with "--help" for options =============================================================================== -[doctest] test cases: 0 | 0 passed | 0 failed | 96 skipped +[doctest] test cases: 0 | 0 passed | 0 failed | 98 skipped [doctest] assertions: 0 | 0 passed | 0 failed | [doctest] Status: SUCCESS! Program code. diff --git a/examples/all_features/test_output/filter_2_xml.txt b/examples/all_features/test_output/filter_2_xml.txt index 8764a89d..804fa4f1 100644 --- a/examples/all_features/test_output/filter_2_xml.txt +++ b/examples/all_features/test_output/filter_2_xml.txt @@ -135,7 +135,11 @@ <TestCase name="will end from a std::string exception" filename="coverage_maxout.cpp" line="0" skipped="true"/> <TestCase name="will end from an unknown exception" filename="coverage_maxout.cpp" line="0" skipped="true"/> </TestSuite> + <TestSuite name="with a funny name,"> + <TestCase name="with a funnier name\:" filename="subcases.cpp" line="0" skipped="true"/> + <TestCase name="without a funny name:" filename="subcases.cpp" line="0" skipped="true"/> + </TestSuite> <OverallResultsAsserts successes="0" failures="0"/> - <OverallResultsTestCases successes="0" failures="0" skipped="96"/> + <OverallResultsTestCases successes="0" failures="0" skipped="98"/> </doctest> Program code. diff --git a/examples/all_features/test_output/filter_3.txt b/examples/all_features/test_output/filter_3.txt index 91ec3494..e2f2be93 100644 --- a/examples/all_features/test_output/filter_3.txt +++ b/examples/all_features/test_output/filter_3.txt @@ -27,7 +27,14 @@ DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE): subcases.cpp(0): MESSAGE: lala =============================================================================== -[doctest] test cases: 7 | 7 passed | 0 failed | +subcases.cpp(0): +TEST SUITE: with a funny name, +TEST CASE: without a funny name: + +subcases.cpp(0): MESSAGE: Nooo + +=============================================================================== +[doctest] test cases: 9 | 9 passed | 0 failed | [doctest] assertions: 0 | 0 passed | 0 failed | [doctest] Status: SUCCESS! Program code. diff --git a/examples/all_features/test_output/filter_3_junit.txt b/examples/all_features/test_output/filter_3_junit.txt index 82457f9a..04f78c57 100644 --- a/examples/all_features/test_output/filter_3_junit.txt +++ b/examples/all_features/test_output/filter_3_junit.txt @@ -10,6 +10,8 @@ root <testcase classname="subcases.cpp" name="fails from an exception but gets re-entered to traverse all subcases" status="run"/> <testcase classname="subcases.cpp" name="Nested - related to https://github.com/doctest/doctest/issues/282" status="run"/> <testcase classname="subcases.cpp" name="subcases with changing names" status="run"/> + <testcase classname="subcases.cpp" name="with a funnier name\:" status="run"/> + <testcase classname="subcases.cpp" name="without a funny name:" status="run"/> </testsuite> </testsuites> Program code. diff --git a/examples/all_features/test_output/filter_3_xml.txt b/examples/all_features/test_output/filter_3_xml.txt index f8ba04be..1922de26 100644 --- a/examples/all_features/test_output/filter_3_xml.txt +++ b/examples/all_features/test_output/filter_3_xml.txt @@ -45,7 +45,20 @@ root <OverallResultsAsserts successes="0" failures="0" test_case_success="true"/> </TestCase> </TestSuite> + <TestSuite name="with a funny name,"> + <TestCase name="with a funnier name\:" filename="subcases.cpp" line="0"> + <OverallResultsAsserts successes="0" failures="0" test_case_success="true"/> + </TestCase> + <TestCase name="without a funny name:" filename="subcases.cpp" line="0"> + <Message type="WARNING" filename="subcases.cpp" line="0"> + <Text> + Nooo + </Text> + </Message> + <OverallResultsAsserts successes="0" failures="0" test_case_success="true"/> + </TestCase> + </TestSuite> <OverallResultsAsserts successes="0" failures="0"/> - <OverallResultsTestCases successes="7" failures="0"/> + <OverallResultsTestCases successes="9" failures="0"/> </doctest> Program code. diff --git a/examples/all_features/test_output/filter_4.txt b/examples/all_features/test_output/filter_4.txt new file mode 100644 index 00000000..5262e441 --- /dev/null +++ b/examples/all_features/test_output/filter_4.txt @@ -0,0 +1,22 @@ +[doctest] run with "--help" for options +=============================================================================== +subcases.cpp(0): +TEST SUITE: with a funny name, +TEST CASE: with a funnier name\: + with the funniest name\, + +subcases.cpp(0): MESSAGE: Yes! + +=============================================================================== +subcases.cpp(0): +TEST SUITE: with a funny name, +TEST CASE: with a funnier name\: + with a slightly funny name : + +subcases.cpp(0): MESSAGE: Yep! + +=============================================================================== +[doctest] test cases: 1 | 1 passed | 0 failed | +[doctest] assertions: 0 | 0 passed | 0 failed | +[doctest] Status: SUCCESS! +Program code. diff --git a/examples/all_features/test_output/filter_4_junit.txt b/examples/all_features/test_output/filter_4_junit.txt new file mode 100644 index 00000000..e62f6c2a --- /dev/null +++ b/examples/all_features/test_output/filter_4_junit.txt @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<testsuites> + <testsuite name="all_features" errors="0" failures="0" tests="0"> + <testcase classname="subcases.cpp" name="with a funnier name\:/with the funniest name\," status="run"/> + <testcase classname="subcases.cpp" name="with a funnier name\:/with a slightly funny name :" status="run"/> + </testsuite> +</testsuites> +Program code. diff --git a/examples/all_features/test_output/filter_4_xml.txt b/examples/all_features/test_output/filter_4_xml.txt new file mode 100644 index 00000000..5815b5ed --- /dev/null +++ b/examples/all_features/test_output/filter_4_xml.txt @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<doctest binary="all_features"> + <Options order_by="file" rand_seed="324" first="0" last="4294967295" abort_after="0" subcase_filter_levels="2147483647" case_sensitive="false" no_throw="false" no_skip="false"/> + <TestSuite name="with a funny name,"> + <TestCase name="with a funnier name\:" filename="subcases.cpp" line="0"> + <SubCase name="with the funniest name\," filename="subcases.cpp" line="0"> + <Message type="WARNING" filename="subcases.cpp" line="0"> + <Text> + Yes! + </Text> + </Message> + </SubCase> + <SubCase name="with a slightly funny name :" filename="subcases.cpp" line="0"> + <Message type="WARNING" filename="subcases.cpp" line="0"> + <Text> + Yep! + </Text> + </Message> + </SubCase> + <OverallResultsAsserts successes="0" failures="0" test_case_success="true"/> + </TestCase> + </TestSuite> + <OverallResultsAsserts successes="0" failures="0"/> + <OverallResultsTestCases successes="1" failures="0"/> +</doctest> +Program code. diff --git a/examples/all_features/test_output/subcases.cpp.txt b/examples/all_features/test_output/subcases.cpp.txt index 701acaea..0acc7bf1 100644 --- a/examples/all_features/test_output/subcases.cpp.txt +++ b/examples/all_features/test_output/subcases.cpp.txt @@ -194,7 +194,38 @@ TEST CASE: subcases with changing names subcases.cpp(0): MESSAGE: separate msg! =============================================================================== -[doctest] test cases: 7 | 3 passed | 4 failed | +subcases.cpp(0): +TEST SUITE: with a funny name, +TEST CASE: with a funnier name\: + with the funniest name\, + +subcases.cpp(0): MESSAGE: Yes! + +=============================================================================== +subcases.cpp(0): +TEST SUITE: with a funny name, +TEST CASE: with a funnier name\: + with a slightly funny name : + +subcases.cpp(0): MESSAGE: Yep! + +=============================================================================== +subcases.cpp(0): +TEST SUITE: with a funny name, +TEST CASE: with a funnier name\: + without a funny name + +subcases.cpp(0): MESSAGE: NO! + +=============================================================================== +subcases.cpp(0): +TEST SUITE: with a funny name, +TEST CASE: without a funny name: + +subcases.cpp(0): MESSAGE: Nooo + +=============================================================================== +[doctest] test cases: 9 | 5 passed | 4 failed | [doctest] assertions: 25 | 19 passed | 6 failed | [doctest] Status: FAILURE! Program code. diff --git a/examples/all_features/test_output/subcases.cpp_junit.txt b/examples/all_features/test_output/subcases.cpp_junit.txt index e2fd1a90..d1c82380 100644 --- a/examples/all_features/test_output/subcases.cpp_junit.txt +++ b/examples/all_features/test_output/subcases.cpp_junit.txt @@ -81,6 +81,10 @@ CHECK( false ) is NOT correct! <testcase classname="subcases.cpp" name="subcases with changing names/outer 1/inner 0" status="run"/> <testcase classname="subcases.cpp" name="subcases with changing names/outer 1/inner 1" status="run"/> <testcase classname="subcases.cpp" name="subcases with changing names/separate" status="run"/> + <testcase classname="subcases.cpp" name="with a funnier name\:/with the funniest name\," status="run"/> + <testcase classname="subcases.cpp" name="with a funnier name\:/with a slightly funny name :" status="run"/> + <testcase classname="subcases.cpp" name="with a funnier name\:/without a funny name" status="run"/> + <testcase classname="subcases.cpp" name="without a funny name:" status="run"/> </testsuite> </testsuites> Program code. diff --git a/examples/all_features/test_output/subcases.cpp_xml.txt b/examples/all_features/test_output/subcases.cpp_xml.txt index 061c3b24..ad208bb4 100644 --- a/examples/all_features/test_output/subcases.cpp_xml.txt +++ b/examples/all_features/test_output/subcases.cpp_xml.txt @@ -235,7 +235,41 @@ root <OverallResultsAsserts successes="0" failures="0" test_case_success="true"/> </TestCase> </TestSuite> + <TestSuite name="with a funny name,"> + <TestCase name="with a funnier name\:" filename="subcases.cpp" line="0"> + <SubCase name="with the funniest name\," filename="subcases.cpp" line="0"> + <Message type="WARNING" filename="subcases.cpp" line="0"> + <Text> + Yes! + </Text> + </Message> + </SubCase> + <SubCase name="with a slightly funny name :" filename="subcases.cpp" line="0"> + <Message type="WARNING" filename="subcases.cpp" line="0"> + <Text> + Yep! + </Text> + </Message> + </SubCase> + <SubCase name="without a funny name" filename="subcases.cpp" line="0"> + <Message type="WARNING" filename="subcases.cpp" line="0"> + <Text> + NO! + </Text> + </Message> + </SubCase> + <OverallResultsAsserts successes="0" failures="0" test_case_success="true"/> + </TestCase> + <TestCase name="without a funny name:" filename="subcases.cpp" line="0"> + <Message type="WARNING" filename="subcases.cpp" line="0"> + <Text> + Nooo + </Text> + </Message> + <OverallResultsAsserts successes="0" failures="0" test_case_success="true"/> + </TestCase> + </TestSuite> <OverallResultsAsserts successes="19" failures="6"/> - <OverallResultsTestCases successes="3" failures="4"/> + <OverallResultsTestCases successes="5" failures="4"/> </doctest> Program code. |