diff --git a/src/test/serverbrowser.cpp b/src/test/serverbrowser.cpp index 1e374eff4..407f88ab0 100644 --- a/src/test/serverbrowser.cpp +++ b/src/test/serverbrowser.cpp @@ -11,6 +11,7 @@ TEST(ServerBrowser, PingCache) { CTestInfo Info; + Info.m_DeleteTestStorageFilesOnSuccess = true; auto pConsole = std::unique_ptr(CreateConsole(CFGFLAG_CLIENT)); auto pStorage = std::unique_ptr(Info.CreateTestStorage()); @@ -99,6 +100,4 @@ TEST(ServerBrowser, PingCache) EXPECT_EQ(pEntries[0].m_Ping, 1337); EXPECT_EQ(pEntries[1].m_Ping, 345); } - - Info.DeleteTestStorageFilesOnSuccess(); } diff --git a/src/test/test.cpp b/src/test/test.cpp index c47d6f5ef..363c4ab06 100644 --- a/src/test/test.cpp +++ b/src/test/test.cpp @@ -72,15 +72,11 @@ int TestCollect(const char *pName, int IsDir, int Unused, void *pUser) return 0; } -void CTestInfo::DeleteTestStorageFilesOnSuccess() +void TestDeleteTestStorageFiles(const char *pPath) { - if(::testing::Test::HasFailure()) - { - return; - } std::vector aEntries; CTestCollectData Data; - str_copy(Data.m_aCurrentDir, m_aFilename, sizeof(Data.m_aCurrentDir)); + str_copy(Data.m_aCurrentDir, pPath, sizeof(Data.m_aCurrentDir)); Data.m_paEntries = &aEntries; fs_listdir(Data.m_aCurrentDir, TestCollect, 0, &Data); @@ -107,6 +103,14 @@ void CTestInfo::DeleteTestStorageFilesOnSuccess() } } +CTestInfo::~CTestInfo() +{ + if(!::testing::Test::HasFailure() && m_DeleteTestStorageFilesOnSuccess) + { + TestDeleteTestStorageFiles(m_aFilename); + } +} + int main(int argc, const char **argv) { cmdline_fix(&argc, &argv); diff --git a/src/test/test.h b/src/test/test.h index 3f4a747e9..e17b3f934 100644 --- a/src/test/test.h +++ b/src/test/test.h @@ -7,8 +7,9 @@ class CTestInfo { public: CTestInfo(); + ~CTestInfo(); IStorage *CreateTestStorage(); - void DeleteTestStorageFilesOnSuccess(); + bool m_DeleteTestStorageFilesOnSuccess = false; char m_aFilename[64]; }; #endif // TEST_TEST_H