Fix Serverbrowser.PingCache test on Windows

This commit is contained in:
heinrich5991 2022-01-31 01:09:08 +01:00
parent f42a826945
commit 810787a905
3 changed files with 13 additions and 9 deletions

View file

@ -11,6 +11,7 @@
TEST(ServerBrowser, PingCache)
{
CTestInfo Info;
Info.m_DeleteTestStorageFilesOnSuccess = true;
auto pConsole = std::unique_ptr<IConsole>(CreateConsole(CFGFLAG_CLIENT));
auto pStorage = std::unique_ptr<IStorage>(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();
}

View file

@ -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<CTestInfoPath> 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);

View file

@ -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