Undefine R2, R4, R6 after use.
[oota-llvm.git] / unittests / Support / LockFileManagerTest.cpp
index b80cdf9b66f6e9d5829a1f1d8111c24464ebafeb..885b7d6053670bf9cc502491fb1428424c4533c8 100644 (file)
@@ -19,7 +19,7 @@ namespace {
 
 TEST(LockFileManagerTest, Basic) {
   SmallString<64> TmpDir;
-  error_code EC;
+  std::error_code EC;
   EC = sys::fs::createUniqueDirectory("LockFileManagerTestDir", TmpDir);
   ASSERT_FALSE(EC);
 
@@ -46,7 +46,7 @@ TEST(LockFileManagerTest, Basic) {
 
 TEST(LockFileManagerTest, LinkLockExists) {
   SmallString<64> TmpDir;
-  error_code EC;
+  std::error_code EC;
   EC = sys::fs::createUniqueDirectory("LockFileManagerTestDir", TmpDir);
   ASSERT_FALSE(EC);
 
@@ -59,14 +59,18 @@ TEST(LockFileManagerTest, LinkLockExists) {
   SmallString<64> TmpFileLock(TmpDir);
   sys::path::append(TmpFileLock, "file.lock-000");
 
+  int FD;
+  EC = sys::fs::openFileForWrite(StringRef(TmpFileLock), FD, sys::fs::F_None);
+  ASSERT_FALSE(EC);
+
+  int Ret = close(FD);
+  ASSERT_EQ(Ret, 0);
+
   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
+
+  EC = sys::fs::remove(StringRef(TmpFileLock));
+  ASSERT_FALSE(EC);
 
   {
     // The lock file doesn't point to a real file, so we should successfully
@@ -85,7 +89,7 @@ TEST(LockFileManagerTest, LinkLockExists) {
 
 TEST(LockFileManagerTest, RelativePath) {
   SmallString<64> TmpDir;
-  error_code EC;
+  std::error_code EC;
   EC = sys::fs::createUniqueDirectory("LockFileManagerTestDir", TmpDir);
   ASSERT_FALSE(EC);
 
@@ -113,20 +117,11 @@ 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