- create_link doesn't work for nonexistent file.
- remove cannot remove working directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204579
91177308-0d34-0410-b5e6-
96231b3b80d8
TEST(LockFileManagerTest, LinkLockExists) {
SmallString<64> TmpDir;
error_code EC;
TEST(LockFileManagerTest, LinkLockExists) {
SmallString<64> TmpDir;
error_code EC;
sys::path::append(TmpFileLock, "file.lock-000");
EC = sys::fs::create_link(TmpFileLock.str(), FileLocK.str());
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
{
// The lock file doesn't point to a real file, so we should successfully
{
// The lock file doesn't point to a real file, so we should successfully
EC = sys::fs::remove("inner");
ASSERT_FALSE(EC);
EC = sys::fs::remove(StringRef(TmpDir));
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
+
+#if defined(_WIN32)
+ EC = sys::fs::remove(StringRef(TmpDir));
+ ASSERT_FALSE(EC);
} // end anonymous namespace
} // end anonymous namespace