Merge branch 'GP-0_ryanmkurtz_PR-5382_ekilmer_fix-asan-initialize-order-fiasco'

This commit is contained in:
Ryan Kurtz 2024-04-01 14:11:52 -04:00
commit affdba0901
2 changed files with 8 additions and 5 deletions

View File

@ -18,8 +18,6 @@
namespace ghidra {
vector<UnitTest *> UnitTest::tests;
/// Run all the tests unless a non-empty set of names is passed in.
/// In which case, only the named tests in the set are run.
/// \param testNames is the set of names
@ -30,7 +28,7 @@ int UnitTest::run(set<string> &testNames)
int total = 0;
int passed = 0;
for(auto &t : UnitTest::tests) {
for(auto &t : UnitTest::tests()) {
if (testNames.size() > 0 && testNames.find(t->name) == testNames.end()) {
continue;
}

View File

@ -53,7 +53,6 @@ typedef void (*testfunc_t)(); ///< A unit-test function
/// The static run() method calls all the function pointers of all instantiated
/// objects.
struct UnitTest {
static vector<UnitTest *> tests; ///< The collection of test objects
string name; ///< Name of the test
testfunc_t func; ///< Call-back function executing the test
@ -64,7 +63,13 @@ struct UnitTest {
UnitTest(const string &name,testfunc_t func) :
name(name), func(func)
{
tests.push_back(this);
tests().push_back(this);
}
/// \brief The collection of test objects
static vector<UnitTest *> & tests() {
static vector<UnitTest *> tests;
return tests;
}
static int run(set<string> &testNames); ///< Run all the instantiated tests