Add call sequence start and end for __tls_get_addr
[oota-llvm.git] / unittests / Support / LockFileManagerTest.cpp
index 79f4519614e87e89a20841d38b22c8517d215398..efe3c3088b33e1ea04e04ca247a734cc1682ae25 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);
 
@@ -44,10 +44,9 @@ TEST(LockFileManagerTest, Basic) {
   ASSERT_FALSE(EC);
 }
 
-#if !defined(_WIN32)
 TEST(LockFileManagerTest, LinkLockExists) {
   SmallString<64> TmpDir;
-  error_code EC;
+  std::error_code EC;
   EC = sys::fs::createUniqueDirectory("LockFileManagerTestDir", TmpDir);
   ASSERT_FALSE(EC);
 
@@ -60,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.
@@ -80,13 +89,13 @@ 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);
 
   char PathBuf[1024];
   const char *OrigPath = getcwd(PathBuf, 1024);
-  chdir(TmpDir.c_str());
+  ASSERT_FALSE(chdir(TmpDir.c_str()));
 
   sys::fs::create_directory("inner");
   SmallString<64> LockedFile("inner");
@@ -108,11 +117,11 @@ TEST(LockFileManagerTest, RelativePath) {
 
   EC = sys::fs::remove("inner");
   ASSERT_FALSE(EC);
+
+  ASSERT_FALSE(chdir(OrigPath));
+
   EC = sys::fs::remove(StringRef(TmpDir));
   ASSERT_FALSE(EC);
-
-  chdir(OrigPath);
 }
-#endif
 
 } // end anonymous namespace