diff options
author | Pawel Bylica <chfast@gmail.com> | 2015-11-06 23:44:23 +0000 |
---|---|---|
committer | Pawel Bylica <chfast@gmail.com> | 2015-11-06 23:44:23 +0000 |
commit | 6e680b2be7e2af65fa054a61133f4930844975a4 (patch) | |
tree | 635c3c1cb2aa86ef79839afe0a25c13ad1492835 /llvm/unittests/Support/Path.cpp | |
parent | b43221439c6e57c90dd231cba0c12ace0aee73c7 (diff) | |
download | bcm5719-llvm-6e680b2be7e2af65fa054a61133f4930844975a4.tar.gz bcm5719-llvm-6e680b2be7e2af65fa054a61133f4930844975a4.zip |
Revert r252366: [Support] Use GetTempDir to get the temporary dir path on Windows.
llvm-svn: 252367
Diffstat (limited to 'llvm/unittests/Support/Path.cpp')
-rw-r--r-- | llvm/unittests/Support/Path.cpp | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/llvm/unittests/Support/Path.cpp b/llvm/unittests/Support/Path.cpp index ebfd266ebbe..a7a6a4add7c 100644 --- a/llvm/unittests/Support/Path.cpp +++ b/llvm/unittests/Support/Path.cpp @@ -351,76 +351,6 @@ TEST(Support, UserCacheDirectory) { } } -TEST(Support, TempDirectory) { - SmallString<32> TempDir; - path::system_temp_directory(false, TempDir); - EXPECT_TRUE(!TempDir.empty()); - TempDir.clear(); - path::system_temp_directory(true, TempDir); - EXPECT_TRUE(!TempDir.empty()); -} - -static std::string path2regex(std::string Path) { - size_t Pos = 0; - while ((Pos = Path.find('\\', Pos)) != std::string::npos) { - Path.replace(Pos, 1, "\\\\"); - Pos += 2; - } - return Path; -} - -/// Helper for running temp dir test in separated process. See below. -#define EXPECT_TEMP_DIR(prepare, expected) \ - EXPECT_EXIT( \ - { \ - prepare; \ - SmallString<300> TempDir; \ - path::system_temp_directory(true, TempDir); \ - raw_os_ostream(std::cerr) << TempDir; \ - std::exit(0); \ - }, \ - ::testing::ExitedWithCode(0), path2regex(expected)) - -#ifdef LLVM_ON_WIN32 -TEST(SupportDeathTest, TempDirectoryOnWindows) { - // In this test we want to check how system_temp_directory responds to - // different values of specific env vars. To prevent corrupting env vars of - // the current process all checks are done in separated processes. - EXPECT_TEMP_DIR(_wputenv_s(L"TMP", L"C:\\OtherFolder"), "C:\\OtherFolder"); - EXPECT_TEMP_DIR(_wputenv_s(L"TMP", L"C:/Unix/Path/Seperators"), - "C:\\Unix\\Path\\Seperators"); - EXPECT_TEMP_DIR(_wputenv_s(L"TMP", L"Local Path"), ".+\\Local Path$"); - EXPECT_TEMP_DIR( - _wputenv_s(L"TMP", L"C:\\2\x03C0r-\x00B5\x00B3\\\x2135\x2080"), - "C:\\2\xCF\x80r-\xC2\xB5\xC2\xB3\\\xE2\x84\xB5\xE2\x82\x80"); - - // Test $TMP empty, $TEMP set. - EXPECT_TEMP_DIR( - { - _wputenv_s(L"TMP", L""); - _wputenv_s(L"TEMP", L"C:\\Valid\\Path"); - }, - "C:\\Valid\\Path"); - - // Test evn var / path with 260 chars. - SmallString<270> Expected{"C:\\Temp\\AB\\123456789"}; - while (Expected.size() < 260) - Expected.append("\\DirNameWith19Charss"); - ASSERT_EQ(260, Expected.size()); - EXPECT_TEMP_DIR(_putenv_s("TMP", Expected.c_str()), Expected.c_str()); - - // Test evn var 261 chars. - Expected.append("X"); - ASSERT_EQ(261, Expected.size()); - EXPECT_TEMP_DIR( - { - _putenv_s("TMP", Expected.c_str()); - _wputenv_s(L"TEMP", L"C:\\Short\\Path"); - }, - "C:\\Short\\Path"); -} -#endif - class FileSystemTest : public testing::Test { protected: /// Unique temporary directory in which all created filesystem entities must |