Undefine R2, R4, R6 after use.
[oota-llvm.git] / unittests / Support / LockFileManagerTest.cpp
index 91339ff38da19ddf42d8f10c55ee05cb221b11d8..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,9 +59,19 @@ 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());
   ASSERT_FALSE(EC);
 
+  EC = sys::fs::remove(StringRef(TmpFileLock));
+  ASSERT_FALSE(EC);
+
   {
     // The lock file doesn't point to a real file, so we should successfully
     // acquire it.
@@ -79,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);
 
@@ -107,10 +117,11 @@ TEST(LockFileManagerTest, RelativePath) {
 
   EC = sys::fs::remove("inner");
   ASSERT_FALSE(EC);
-  EC = sys::fs::remove(StringRef(TmpDir));
-  ASSERT_FALSE(EC);
 
   chdir(OrigPath);
+
+  EC = sys::fs::remove(StringRef(TmpDir));
+  ASSERT_FALSE(EC);
 }
 
 } // end anonymous namespace