diff options
Diffstat (limited to 'external/cppunit/order.patch.0')
-rw-r--r-- | external/cppunit/order.patch.0 | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/external/cppunit/order.patch.0 b/external/cppunit/order.patch.0 new file mode 100644 index 0000000000..523b3cd704 --- /dev/null +++ b/external/cppunit/order.patch.0 @@ -0,0 +1,25 @@ +--- src/cppunit/TestFactoryRegistry.cpp ++++ src/cppunit/TestFactoryRegistry.cpp +@@ -143,13 +143,21 @@ + void + TestFactoryRegistry::addTestToSuite( TestSuite *suite ) + { ++ std::multimap<std::string, Test *> sorted; + for ( Factories::iterator it = m_factories.begin(); + it != m_factories.end(); + ++it ) + { + TestFactory *factory = *it; +- suite->addTest( factory->makeTest() ); ++ Test *test = factory->makeTest(); ++ sorted.insert({test->getName(), test}); + } ++ // In the unlikely case of multiple Tests with identical names, those will ++ // still be added in random order: ++ for (auto const &i: sorted) ++ { ++ suite->addTest( i.second ); ++ } + } + + |