Skip to content

Commit

Permalink
tracked down a bug - turns out the template id which is used to disti…
Browse files Browse the repository at this point in the history
…nguish template instantiations of a test case was used only when registering test cases but not when ordering them. This problem hadn't manifested itself yet because the template test cases weren't failing and thus the order wasn't present in the reference output. >>> REALLY <<< glad I managed to track this down - there was a difference between the use of libstdc++ (gcc/clang) vs VS & XCode ==> different instability of std::sort
  • Loading branch information
onqtam committed Mar 22, 2019
1 parent 4c594ba commit 582edb4
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 10 deletions.
4 changes: 3 additions & 1 deletion doctest/doctest.h
Expand Up @@ -3711,7 +3711,9 @@ namespace {
#endif // MSVC
if(res != 0)
return res < 0;
return lhs->m_line < rhs->m_line;
if(lhs->m_line != rhs->m_line)
return lhs->m_line < rhs->m_line;
return lhs->m_template_id < rhs->m_template_id;
}

// for sorting tests by suite/file/line
Expand Down
4 changes: 3 additions & 1 deletion doctest/parts/doctest.cpp
Expand Up @@ -1039,7 +1039,9 @@ namespace {
#endif // MSVC
if(res != 0)
return res < 0;
return lhs->m_line < rhs->m_line;
if(lhs->m_line != rhs->m_line)
return lhs->m_line < rhs->m_line;
return lhs->m_template_id < rhs->m_template_id;
}

// for sorting tests by suite/file/line
Expand Down
6 changes: 3 additions & 3 deletions examples/all_features/test_output/filter_2_xml.txt
Expand Up @@ -49,13 +49,13 @@
<TestCase name="signed integers stuff&lt;short int>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="signed integers stuff&lt;int>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="vector stuff&lt;std::vector&lt;int>>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;char>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;double>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;signed char>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;short int>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;int>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;double>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;double>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;unsigned char>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;int>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="default construction&lt;char>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="multiple types&lt;>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="multiple types&lt;>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
<TestCase name="multiple types&lt;>" filename="templated_test_cases.cpp" line="0" skipped="true"/>
Expand Down
Expand Up @@ -21,16 +21,16 @@
</Expression>
<OverallResultsAsserts successes="0" failures="1"/>
</TestCase>
<TestCase name="default construction&lt;char>" filename="templated_test_cases.cpp" line="0">
<TestCase name="default construction&lt;signed char>" filename="templated_test_cases.cpp" line="0">
<OverallResultsAsserts successes="1" failures="0"/>
</TestCase>
<TestCase name="default construction&lt;double>" filename="templated_test_cases.cpp" line="0">
<TestCase name="default construction&lt;short int>" filename="templated_test_cases.cpp" line="0">
<OverallResultsAsserts successes="1" failures="0"/>
</TestCase>
<TestCase name="default construction&lt;signed char>" filename="templated_test_cases.cpp" line="0">
<TestCase name="default construction&lt;int>" filename="templated_test_cases.cpp" line="0">
<OverallResultsAsserts successes="1" failures="0"/>
</TestCase>
<TestCase name="default construction&lt;short int>" filename="templated_test_cases.cpp" line="0">
<TestCase name="default construction&lt;double>" filename="templated_test_cases.cpp" line="0">
<OverallResultsAsserts successes="1" failures="0"/>
</TestCase>
<TestCase name="default construction&lt;double>" filename="templated_test_cases.cpp" line="0">
Expand All @@ -39,7 +39,7 @@
<TestCase name="default construction&lt;unsigned char>" filename="templated_test_cases.cpp" line="0">
<OverallResultsAsserts successes="1" failures="0"/>
</TestCase>
<TestCase name="default construction&lt;int>" filename="templated_test_cases.cpp" line="0">
<TestCase name="default construction&lt;char>" filename="templated_test_cases.cpp" line="0">
<OverallResultsAsserts successes="1" failures="0"/>
</TestCase>
<TestCase name="multiple types&lt;>" filename="templated_test_cases.cpp" line="0">
Expand Down

0 comments on commit 582edb4

Please sign in to comment.