diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-03-23 23:55:57 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-03-23 23:55:57 +0000 |
commit | 126a6c023820a9b9b84974d6204e171674c89fda (patch) | |
tree | a70fbfd818061da61839914586cc124831d50575 /llvm/unittests/Support/LockFileManagerTest.cpp | |
parent | f3f0b96abd3036a45c4e9d8dff41ca1b311aec8a (diff) | |
download | llvm-126a6c023820a9b9b84974d6204e171674c89fda.zip llvm-126a6c023820a9b9b84974d6204e171674c89fda.tar.gz llvm-126a6c023820a9b9b84974d6204e171674c89fda.tar.bz2 |
SupportTests.LockFileManagerTest: Add assertions for Win32.
- create_link doesn't work for nonexistent file.
- remove cannot remove working directory.
llvm-svn: 204579
Diffstat (limited to 'llvm/unittests/Support/LockFileManagerTest.cpp')
-rw-r--r-- | llvm/unittests/Support/LockFileManagerTest.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/llvm/unittests/Support/LockFileManagerTest.cpp b/llvm/unittests/Support/LockFileManagerTest.cpp index 79f4519..b80cdf9 100644 --- a/llvm/unittests/Support/LockFileManagerTest.cpp +++ b/llvm/unittests/Support/LockFileManagerTest.cpp @@ -44,7 +44,6 @@ TEST(LockFileManagerTest, Basic) { ASSERT_FALSE(EC); } -#if !defined(_WIN32) TEST(LockFileManagerTest, LinkLockExists) { SmallString<64> TmpDir; error_code EC; @@ -61,7 +60,13 @@ TEST(LockFileManagerTest, LinkLockExists) { sys::path::append(TmpFileLock, "file.lock-000"); EC = sys::fs::create_link(TmpFileLock.str(), FileLocK.str()); +#if defined(_WIN32) + // Win32 cannot create link with nonexistent file, since create_link is + // implemented as hard link. + ASSERT_EQ(EC, errc::no_such_file_or_directory); +#else ASSERT_FALSE(EC); +#endif { // The lock file doesn't point to a real file, so we should successfully @@ -109,10 +114,19 @@ TEST(LockFileManagerTest, RelativePath) { EC = sys::fs::remove("inner"); ASSERT_FALSE(EC); EC = sys::fs::remove(StringRef(TmpDir)); +#if defined(_WIN32) + // Win32 cannot remove working directory. + ASSERT_EQ(EC, errc::permission_denied); +#else ASSERT_FALSE(EC); +#endif chdir(OrigPath); -} + +#if defined(_WIN32) + EC = sys::fs::remove(StringRef(TmpDir)); + ASSERT_FALSE(EC); #endif +} } // end anonymous namespace |