[llvm] r204579 - SupportTests.LockFileManagerTest: Add assertions for Win32.

Argyrios Kyrtzidis kyrtzidis at apple.com
Mon Mar 24 15:32:25 PDT 2014


On Mar 23, 2014, at 9:08 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:

> Argyrios, is this representative of how the lock manager is used? If
> so, it looks like it would not work on windows. If not, could you
> please update the test to avoid the ifdefs? For example, you could
> create the link to an existing file and then delete that file.

I’m fine with this change, but could someone with access to a windows machine test and commit this ?

> 
> On 23 March 2014 19:55, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
>> 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
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list