Our tests run on drive E:\ (not C:\) which is why we saw this test failing. After this change, the test can now run successfully for us because the temporary files are created and checked for on the C:\ drive. Before this change, the temporary files were created on the E:\ drive and checked for on the C:\ drive.
Are you saying that you have a drive C:\ and the test is failing anyway? Or do you not even have a drive C:\? Thanks, -Stella -----Original Message----- From: Aaron Ballman <aa...@aaronballman.com> Sent: Monday, December 10, 2018 6:55 AM To: Stella Stamenova <sti...@microsoft.com> Cc: cfe-commits <cfe-commits@lists.llvm.org> Subject: Re: r348665 - [tests] Fix the FileManagerTest getVirtualFile test on Windows On Fri, Dec 7, 2018 at 6:52 PM Stella Stamenova via cfe-commits <cfe-commits@lists.llvm.org> wrote: > > Author: stella.stamenova > Date: Fri Dec 7 15:50:05 2018 > New Revision: 348665 > > URL: > https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fllvm. > org%2Fviewvc%2Fllvm-project%3Frev%3D348665%26view%3Drev&data=02%7C > 01%7Cstilis%40microsoft.com%7Cc4e90b6970994d2b15b608d65eaf7ff3%7C72f98 > 8bf86f141af91ab2d7cd011db47%7C1%7C0%7C636800505193880574&sdata=vv0 > qe64wy0oqci7RAlCXHxmjREevqS3s%2ByNz83tqQIw%3D&reserved=0 > Log: > [tests] Fix the FileManagerTest getVirtualFile test on Windows > > Summary: The test passes on Windows only when it is executed on the C: drive. > If the build and tests run on a different drive, the test is currently > failing. > > Reviewers: kadircet, asmith > > Subscribers: cfe-commits > > Differential Revision: > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Frevi > ews.llvm.org%2FD55451&data=02%7C01%7Cstilis%40microsoft.com%7Cc4e9 > 0b6970994d2b15b608d65eaf7ff3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C > 0%7C636800505193880574&sdata=0dFS4XR2o85FyI0XHr9Eh4pX%2BbdC2CPhXdd > X3lDYaao%3D&reserved=0 > > Modified: > cfe/trunk/unittests/Basic/FileManagerTest.cpp > > Modified: cfe/trunk/unittests/Basic/FileManagerTest.cpp > URL: > https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fllvm. > org%2Fviewvc%2Fllvm-project%2Fcfe%2Ftrunk%2Funittests%2FBasic%2FFileMa > nagerTest.cpp%3Frev%3D348665%26r1%3D348664%26r2%3D348665%26view%3Ddiff > &data=02%7C01%7Cstilis%40microsoft.com%7Cc4e90b6970994d2b15b608d65 > eaf7ff3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63680050519388057 > 4&sdata=UkdKXFFYeXogiCIJ8%2B41qUFO2qON9seRUVYziL2%2B9Yg%3D&res > erved=0 > ====================================================================== > ======== > --- cfe/trunk/unittests/Basic/FileManagerTest.cpp (original) > +++ cfe/trunk/unittests/Basic/FileManagerTest.cpp Fri Dec 7 15:50:05 > +++ 2018 > @@ -351,22 +351,34 @@ TEST_F(FileManagerTest, makeAbsoluteUses > > // getVirtualFile should always fill the real path. > TEST_F(FileManagerTest, getVirtualFileFillsRealPathName) { > + SmallString<64> CustomWorkingDir; > +#ifdef _WIN32 > + CustomWorkingDir = "C:/"; > +#else > + CustomWorkingDir = "/"; > +#endif Unfortunately, this is still an issue -- you cannot assume that C:\ is the correct drive letter on Windows. For instance, this unit test fails for me because it turns out to be D:\ on my system. ~Aaron > + > + auto FS = IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem>( > + new llvm::vfs::InMemoryFileSystem); // > + setCurrentworkingdirectory must finish without error. > + ASSERT_TRUE(!FS->setCurrentWorkingDirectory(CustomWorkingDir)); > + > + FileSystemOptions Opts; > + FileManager Manager(Opts, FS); > + > // Inject fake files into the file system. > auto statCache = llvm::make_unique<FakeStatCache>(); > statCache->InjectDirectory("/tmp", 42); > statCache->InjectFile("/tmp/test", 43); > - manager.addStatCache(std::move(statCache)); > + > + Manager.addStatCache(std::move(statCache)); > > // Check for real path. > - const FileEntry *file = manager.getVirtualFile("/tmp/test", 123, > 1); > + const FileEntry *file = Manager.getVirtualFile("/tmp/test", 123, > + 1); > ASSERT_TRUE(file != nullptr); > ASSERT_TRUE(file->isValid()); > - SmallString<64> ExpectedResult; > -#ifdef _WIN32 > - ExpectedResult = "C:/"; > -#else > - ExpectedResult = "/"; > -#endif > + SmallString<64> ExpectedResult = CustomWorkingDir; > + > llvm::sys::path::append(ExpectedResult, "tmp", "test"); > EXPECT_EQ(file->tryGetRealPathName(), ExpectedResult); } > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.llvm.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fcfe-commits&data=02%7C01%7Cstilis%40microsoft.com%7Cc4e90b6970994d2b15b608d65eaf7ff3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636800505193880574&sdata=LRq7kLE%2BrPavTkQ2gSnc%2B%2FHrPMc8V1QQLWKr2gIPSBs%3D&reserved=0 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits