Use guid for temp directories and delete them after tests (#963)

This commit is contained in:
Pavel Krymets 2018-06-22 09:38:21 -07:00 committed by GitHub
parent b12c9b33f7
commit 9d1ffa2d06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 99 additions and 117 deletions

View File

@ -101,7 +101,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<AdditionalLibraryDirectories>..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\$(Configuration)\;</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\$(Configuration)\;</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<Lib> <Lib>
<AdditionalDependencies> <AdditionalDependencies>
@ -127,7 +127,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<AdditionalLibraryDirectories>..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\x64\$(Configuration)\;</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\x64\$(Configuration)\;</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<Lib> <Lib>
<AdditionalDependencies> <AdditionalDependencies>
@ -153,7 +153,7 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding> <EnableCOMDATFolding>true</EnableCOMDATFolding>
<AdditionalLibraryDirectories>..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\$(Configuration)\;</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\$(Configuration)\;</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<Lib> <Lib>
<AdditionalDependencies> <AdditionalDependencies>
@ -179,7 +179,7 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding> <EnableCOMDATFolding>true</EnableCOMDATFolding>
<AdditionalLibraryDirectories>..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\x64\$(Configuration)\;</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\x64\$(Configuration)\;</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;inprocessapplication.obj;inprocesshandler.obj;ahadmin.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<Lib> <Lib>
<AdditionalDependencies> <AdditionalDependencies>

View File

@ -31,16 +31,16 @@ namespace FileOutManagerStartupTests
{ {
PCWSTR expected = L"test"; PCWSTR expected = L"test";
std::wstring tempDirectory = Helpers::CreateRandomTempDirectory(); auto tempDirectory = TempDirectory();
FileOutputManager* pManager = new FileOutputManager; FileOutputManager* pManager = new FileOutputManager;
pManager->Initialize(fileNamePrefix.c_str(), tempDirectory.c_str()); pManager->Initialize(fileNamePrefix.c_str(), tempDirectory.path().c_str());
{ {
FileManagerWrapper wrapper(pManager); FileManagerWrapper wrapper(pManager);
wprintf(expected, out); wprintf(expected, out);
} }
for (auto & p : std::experimental::filesystem::directory_iterator(tempDirectory)) for (auto & p : std::experimental::filesystem::directory_iterator(tempDirectory.path()))
{ {
std::wstring filename(p.path().filename()); std::wstring filename(p.path().filename());
ASSERT_EQ(filename.substr(0, fileNamePrefix.size()), fileNamePrefix); ASSERT_EQ(filename.substr(0, fileNamePrefix.size()), fileNamePrefix);
@ -49,8 +49,6 @@ namespace FileOutManagerStartupTests
ASSERT_EQ(content.length(), DWORD(4)); ASSERT_EQ(content.length(), DWORD(4));
ASSERT_STREQ(content.c_str(), expected); ASSERT_STREQ(content.c_str(), expected);
} }
Helpers::DeleteDirectory(tempDirectory);
} }
}; };
@ -74,10 +72,10 @@ namespace FileOutManagerOutputTests
{ {
PCSTR expected = "test"; PCSTR expected = "test";
std::wstring tempDirectory = Helpers::CreateRandomTempDirectory(); auto tempDirectory = TempDirectory();
FileOutputManager* pManager = new FileOutputManager; FileOutputManager* pManager = new FileOutputManager;
pManager->Initialize(L"", tempDirectory.c_str()); pManager->Initialize(L"", tempDirectory.path().c_str());
{ {
FileManagerWrapper wrapper(pManager); FileManagerWrapper wrapper(pManager);
@ -87,18 +85,16 @@ namespace FileOutManagerOutputTests
ASSERT_STREQ(straContent.QueryStr(), expected); ASSERT_STREQ(straContent.QueryStr(), expected);
} }
Helpers::DeleteDirectory(tempDirectory);
} }
TEST(FileOutManagerOutputTest, DISABLED_CheckFileOutput) TEST(FileOutManagerOutputTest, DISABLED_CheckFileOutput)
{ {
PCSTR expected = "test"; PCSTR expected = "test";
std::wstring tempDirectory = Helpers::CreateRandomTempDirectory(); auto tempDirectory = TempDirectory();
FileOutputManager* pManager = new FileOutputManager; FileOutputManager* pManager = new FileOutputManager;
pManager->Initialize(L"", tempDirectory.c_str()); pManager->Initialize(L"", tempDirectory.path().c_str());
{ {
FileManagerWrapper wrapper(pManager); FileManagerWrapper wrapper(pManager);
@ -108,18 +104,16 @@ namespace FileOutManagerOutputTests
ASSERT_STREQ(straContent.QueryStr(), expected); ASSERT_STREQ(straContent.QueryStr(), expected);
} }
Helpers::DeleteDirectory(tempDirectory);
} }
TEST(FileOutManagerOutputTest, DISABLED_CapAt4KB) TEST(FileOutManagerOutputTest, DISABLED_CapAt4KB)
{ {
PCSTR expected = "test"; PCSTR expected = "test";
std::wstring tempDirectory = Helpers::CreateRandomTempDirectory(); auto tempDirectory = TempDirectory();
FileOutputManager* pManager = new FileOutputManager; FileOutputManager* pManager = new FileOutputManager;
pManager->Initialize(L"", tempDirectory.c_str()); pManager->Initialize(L"", tempDirectory.path().c_str());
{ {
FileManagerWrapper wrapper(pManager); FileManagerWrapper wrapper(pManager);
@ -133,8 +127,6 @@ namespace FileOutManagerOutputTests
ASSERT_EQ(straContent.QueryCCH(), 4096); ASSERT_EQ(straContent.QueryCCH(), 4096);
} }
Helpers::DeleteDirectory(tempDirectory);
} }
} }

View File

@ -30,32 +30,32 @@ namespace GlobalVersionTests
TEST(GetRequestHandlerVersions, GetFolders) TEST(GetRequestHandlerVersions, GetFolders)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / L"2.0.0"));
auto res = GlobalVersionUtility::GetRequestHandlerVersions(tempPath.c_str()); auto res = GlobalVersionUtility::GetRequestHandlerVersions(tempPath.path().c_str());
EXPECT_EQ(res.size(), 1); EXPECT_EQ(res.size(), 1);
EXPECT_EQ(res.at(0), fx_ver_t(2, 0, 0, std::wstring())); EXPECT_EQ(res.at(0), fx_ver_t(2, 0, 0, std::wstring()));
} }
TEST(GetRequestHandlerVersions, GetFolderPreview) TEST(GetRequestHandlerVersions, GetFolderPreview)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0-preview")); EXPECT_TRUE(fs::create_directories(tempPath.path() / L"2.0.0-preview"));
auto res = GlobalVersionUtility::GetRequestHandlerVersions(tempPath.c_str()); auto res = GlobalVersionUtility::GetRequestHandlerVersions(tempPath.path().c_str());
EXPECT_EQ(res.size(), 1); EXPECT_EQ(res.size(), 1);
EXPECT_EQ(res.at(0), fx_ver_t(2, 0, 0, std::wstring(L"-preview"))); EXPECT_EQ(res.at(0), fx_ver_t(2, 0, 0, std::wstring(L"-preview")));
} }
TEST(GetRequestHandlerVersions, GetFolderManyVersions) TEST(GetRequestHandlerVersions, GetFolderManyVersions)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / + L"2.0.0"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\1.9.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / + L"1.9.0"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.1.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / + L"2.1.0"));
auto res = GlobalVersionUtility::GetRequestHandlerVersions(tempPath.c_str()); auto res = GlobalVersionUtility::GetRequestHandlerVersions(tempPath.path().c_str());
EXPECT_EQ(res.size(), 3); EXPECT_EQ(res.size(), 3);
EXPECT_TRUE(std::find(res.begin(), res.end(), fx_ver_t(1, 9, 0, std::wstring())) != std::end(res)); EXPECT_TRUE(std::find(res.begin(), res.end(), fx_ver_t(1, 9, 0, std::wstring())) != std::end(res));
EXPECT_TRUE(std::find(res.begin(), res.end(), fx_ver_t(2, 0, 0, std::wstring())) != std::end(res)); EXPECT_TRUE(std::find(res.begin(), res.end(), fx_ver_t(2, 0, 0, std::wstring())) != std::end(res));
@ -64,90 +64,90 @@ namespace GlobalVersionTests
TEST(FindHighestGlobalVersion, HighestVersionWithSingleFolder) TEST(FindHighestGlobalVersion, HighestVersionWithSingleFolder)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.0.0"));
auto res = GlobalVersionUtility::FindHighestGlobalVersion(tempPath.c_str()); auto res = GlobalVersionUtility::FindHighestGlobalVersion(tempPath.path().c_str());
EXPECT_STREQ(res.c_str(), L"2.0.0"); EXPECT_STREQ(res.c_str(), L"2.0.0");
} }
TEST(FindHighestGlobalVersion, HighestVersionWithMultipleVersions) TEST(FindHighestGlobalVersion, HighestVersionWithMultipleVersions)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.0.0"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.1.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.1.0"));
auto res = GlobalVersionUtility::FindHighestGlobalVersion(tempPath.c_str()); auto res = GlobalVersionUtility::FindHighestGlobalVersion(tempPath.path().c_str());
EXPECT_STREQ(res.c_str(), L"2.1.0"); EXPECT_STREQ(res.c_str(), L"2.1.0");
} }
TEST(FindHighestGlobalVersion, HighestVersionWithMultipleVersionsPreview) TEST(FindHighestGlobalVersion, HighestVersionWithMultipleVersionsPreview)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.0.0"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.1.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.1.0"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.2.0-preview")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.2.0-preview"));
auto res = GlobalVersionUtility::FindHighestGlobalVersion(tempPath.c_str()); auto res = GlobalVersionUtility::FindHighestGlobalVersion(tempPath.path().c_str());
EXPECT_STREQ(res.c_str(), L"2.2.0-preview"); EXPECT_STREQ(res.c_str(), L"2.2.0-preview");
} }
TEST(FindHighestGlobalVersion, HighestVersionWithMultipleVersionNoPreview) TEST(FindHighestGlobalVersion, HighestVersionWithMultipleVersionNoPreview)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.0.0"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.1.0-preview")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.1.0-preview"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.1.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.1.0"));
auto res = GlobalVersionUtility::FindHighestGlobalVersion(tempPath.c_str()); auto res = GlobalVersionUtility::FindHighestGlobalVersion(tempPath.path().c_str());
EXPECT_STREQ(res.c_str(), L"2.1.0"); EXPECT_STREQ(res.c_str(), L"2.1.0");
} }
TEST(GetGlobalRequestHandlerPath, FindHighestVersionNoHandlerName) TEST(GetGlobalRequestHandlerPath, FindHighestVersionNoHandlerName)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.0.0"));
auto result = GlobalVersionUtility::GetGlobalRequestHandlerPath(tempPath.c_str(), L"", L"aspnetcorev2_outofprocess.dll"); auto result = GlobalVersionUtility::GetGlobalRequestHandlerPath(tempPath.path().c_str(), L"", L"aspnetcorev2_outofprocess.dll");
EXPECT_STREQ(result.c_str(), (tempPath + L"2.0.0\\aspnetcorev2_outofprocess.dll").c_str()); EXPECT_STREQ(result.c_str(), (tempPath.path() / L"2.0.0\\aspnetcorev2_outofprocess.dll").c_str());
} }
TEST(GetGlobalRequestHandlerPath, FindHighestVersionPreviewWins) TEST(GetGlobalRequestHandlerPath, FindHighestVersionPreviewWins)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.0.0"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.1.0-preview")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.1.0-preview"));
auto result = GlobalVersionUtility::GetGlobalRequestHandlerPath(tempPath.c_str(), L"", L"aspnetcorev2_outofprocess.dll"); auto result = GlobalVersionUtility::GetGlobalRequestHandlerPath(tempPath.path().c_str(), L"", L"aspnetcorev2_outofprocess.dll");
EXPECT_STREQ(result.c_str(), (tempPath + L"2.1.0-preview\\aspnetcorev2_outofprocess.dll").c_str()); EXPECT_STREQ(result.c_str(), (tempPath.path() / L"2.1.0-preview\\aspnetcorev2_outofprocess.dll").c_str());
} }
TEST(GetGlobalRequestHandlerPath, FindHighestVersionSpecificVersion) TEST(GetGlobalRequestHandlerPath, FindHighestVersionSpecificVersion)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.0.0"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.1.0-preview")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.1.0-preview"));
auto result = GlobalVersionUtility::GetGlobalRequestHandlerPath(tempPath.c_str(), L"2.0.0", L"aspnetcorev2_outofprocess.dll"); auto result = GlobalVersionUtility::GetGlobalRequestHandlerPath(tempPath.path().c_str(), L"2.0.0", L"aspnetcorev2_outofprocess.dll");
EXPECT_STREQ(result.c_str(), (tempPath + L"2.0.0\\aspnetcorev2_outofprocess.dll").c_str()); EXPECT_STREQ(result.c_str(), (tempPath.path() / L"2.0.0\\aspnetcorev2_outofprocess.dll").c_str());
} }
TEST(GetGlobalRequestHandlerPath, FindHighestVersionSpecificPreview) TEST(GetGlobalRequestHandlerPath, FindHighestVersionSpecificPreview)
{ {
std::wstring tempPath = Helpers::CreateRandomTempDirectory(); auto tempPath = TempDirectory();
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.0.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.0.0"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.1.0-preview")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.1.0-preview"));
EXPECT_TRUE(fs::create_directories(tempPath + L"\\2.2.0")); EXPECT_TRUE(fs::create_directories(tempPath.path() / "2.2.0"));
auto result = GlobalVersionUtility::GetGlobalRequestHandlerPath(tempPath.c_str(), L"2.1.0-preview", L"aspnetcorev2_outofprocess.dll"); auto result = GlobalVersionUtility::GetGlobalRequestHandlerPath(tempPath.path().c_str(), L"2.1.0-preview", L"aspnetcorev2_outofprocess.dll");
EXPECT_STREQ(result.c_str(), (tempPath + L"2.1.0-preview\\aspnetcorev2_outofprocess.dll").c_str()); EXPECT_STREQ(result.c_str(), (tempPath.path() / L"2.1.0-preview\\aspnetcorev2_outofprocess.dll").c_str());
} }
} }

View File

@ -3,29 +3,6 @@
#include "stdafx.h" #include "stdafx.h"
std::wstring
Helpers::CreateRandomValue()
{
int randomValue = rand();
return std::to_wstring(randomValue);
}
std::wstring
Helpers::CreateRandomTempDirectory()
{
PWSTR tempPath = new WCHAR[256];
GetTempPath(256, tempPath);
std::wstring wstringPath(tempPath);
return wstringPath.append(Helpers::CreateRandomValue()).append(L"\\");
}
void
Helpers::DeleteDirectory(std::wstring directory)
{
std::experimental::filesystem::remove_all(directory);
}
std::wstring std::wstring
Helpers::ReadFileContent(std::wstring file) Helpers::ReadFileContent(std::wstring file)
{ {
@ -37,12 +14,28 @@ Helpers::ReadFileContent(std::wstring file)
int nChars = MultiByteToWideChar(CP_ACP, 0, buffer.str().c_str(), -1, NULL, 0); int nChars = MultiByteToWideChar(CP_ACP, 0, buffer.str().c_str(), -1, NULL, 0);
LPWSTR pwzName = new WCHAR[nChars]; std::wstring retVal(nChars, '\0');
MultiByteToWideChar(CP_UTF8, 0, buffer.str().c_str(), -1, pwzName, nChars);
std::wstring retVal(pwzName); MultiByteToWideChar(CP_UTF8, 0, buffer.str().c_str(), -1, retVal.data(), nChars);
delete pwzName;
return retVal; return retVal;
} }
TempDirectory::TempDirectory()
{
UUID uuid;
UuidCreate(&uuid);
RPC_CSTR szUuid = NULL;
if (UuidToStringA(&uuid, &szUuid) == RPC_S_OK)
{
m_path = std::experimental::filesystem::temp_directory_path() / szUuid;
RpcStringFreeA(&szUuid);
return;
}
throw std::exception("Cannot create temp directory");
}
TempDirectory::~TempDirectory()
{
std::experimental::filesystem::remove_all(m_path);
}

View File

@ -5,21 +5,24 @@
class Helpers class Helpers
{ {
public: public:
static
std::wstring
CreateRandomValue();
static
std::wstring
CreateRandomTempDirectory();
static
void
DeleteDirectory(std::wstring directory);
static static
std::wstring std::wstring
ReadFileContent(std::wstring file); ReadFileContent(std::wstring file);
}; };
class TempDirectory
{
public:
TempDirectory();
~TempDirectory();
std::experimental::filesystem::path path() const
{
return m_path;
}
private:
std::experimental::filesystem::path m_path;
};

View File

@ -5,14 +5,8 @@
DECLARE_DEBUG_PRINT_OBJECT2("tests", ASPNETCORE_DEBUG_FLAG_INFO | ASPNETCORE_DEBUG_FLAG_CONSOLE); DECLARE_DEBUG_PRINT_OBJECT2("tests", ASPNETCORE_DEBUG_FLAG_INFO | ASPNETCORE_DEBUG_FLAG_CONSOLE);
#if defined(_WIN32)
int wmain(int argc, wchar_t* argv[]) int wmain(int argc, wchar_t* argv[])
#else
int main(int argc, char* argv[])
#endif
{ {
std::srand((unsigned int)std::time(0));
::testing::InitGoogleTest(&argc, argv); ::testing::InitGoogleTest(&argc, argv);
RUN_ALL_TESTS(); RUN_ALL_TESTS();
return 0;
} }