Fix temporary path crash in TestAuthDatabase (#7753)

The constructor of TestAuthDatabase was called immediately, at a time when the settings weren't initialized properly yet.
This commit is contained in:
SmallJoker 2018-09-28 20:12:11 +02:00 committed by GitHub
parent ce2d33eb97
commit b9343a7da4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -90,12 +90,7 @@ private:
class TestAuthDatabase : public TestBase
{
public:
TestAuthDatabase()
{
TestManager::registerTestModule(this);
// fixed directory, for persistence
test_dir = getTestTempDirectory();
}
TestAuthDatabase() { TestManager::registerTestModule(this); }
const char *getName() { return "TestAuthDatabase"; }
void runTests(IGameDef *gamedef);
@ -112,7 +107,6 @@ public:
void testDelete();
private:
std::string test_dir;
AuthDatabaseProvider *auth_provider;
};
@ -120,6 +114,9 @@ static TestAuthDatabase g_test_instance;
void TestAuthDatabase::runTests(IGameDef *gamedef)
{
// fixed directory, for persistence
thread_local const std::string test_dir = getTestTempDirectory();
// Each set of tests is run twice for each database type:
// one where we reuse the same AuthDatabase object (to test local caching),
// and one where we create a new AuthDatabase object for each call