[llvm] r204579 - SupportTests.LockFileManagerTest: Add assertions for Win32.
NAKAMURA Takumi
geek4civic at gmail.com
Sun Mar 23 16:55:57 PDT 2014
Author: chapuni
Date: Sun Mar 23 18:55:57 2014
New Revision: 204579
URL: http://llvm.org/viewvc/llvm-project?rev=204579&view=rev
Log:
SupportTests.LockFileManagerTest: Add assertions for Win32.
- create_link doesn't work for nonexistent file.
- remove cannot remove working directory.
Modified:
llvm/trunk/unittests/Support/LockFileManagerTest.cpp
Modified: llvm/trunk/unittests/Support/LockFileManagerTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/LockFileManagerTest.cpp?rev=204579&r1=204578&r2=204579&view=diff
==============================================================================
--- llvm/trunk/unittests/Support/LockFileManagerTest.cpp (original)
+++ llvm/trunk/unittests/Support/LockFileManagerTest.cpp Sun Mar 23 18:55:57 2014
@@ -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
More information about the llvm-commits
mailing list