summaryrefslogtreecommitdiffstats
path: root/external/cppunit/order.patch.0
diff options
context:
space:
mode:
Diffstat (limited to 'external/cppunit/order.patch.0')
-rw-r--r--external/cppunit/order.patch.025
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 000000000..523b3cd70
--- /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 );
++ }
+ }
+
+