diff options
Diffstat (limited to 'external')
-rw-r--r-- | external/cppunit/UnpackedTarball_cppunit.mk | 1 | ||||
-rw-r--r-- | external/cppunit/order.patch.0 | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/external/cppunit/UnpackedTarball_cppunit.mk b/external/cppunit/UnpackedTarball_cppunit.mk index 24f75b43415f..c645c2bf4db3 100644 --- a/external/cppunit/UnpackedTarball_cppunit.mk +++ b/external/cppunit/UnpackedTarball_cppunit.mk @@ -19,6 +19,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,cppunit,\ external/cppunit/CPPUNIT_PLUGIN_EXPORT.patch.0 \ external/cppunit/enable-win32-debug.patch \ external/cppunit/rtti.patch.0 \ + external/cppunit/order.patch.0 \ )) ifeq ($(DISABLE_DYNLOADING),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,cppunit,\ diff --git a/external/cppunit/order.patch.0 b/external/cppunit/order.patch.0 new file mode 100644 index 000000000000..523b3cd704e1 --- /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 ); ++ } + } + + |