From 1b8dbe3738c78240ffdbd67a556d464309b8f504 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Tue, 6 Oct 2015 14:45:16 +0000 Subject: [VFS] Put the incoming name in the file status to make InMemoryFS behave more like a real FS. llvm-svn: 249409 --- clang/unittests/Basic/VirtualFileSystemTest.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'clang/unittests/Basic/VirtualFileSystemTest.cpp') diff --git a/clang/unittests/Basic/VirtualFileSystemTest.cpp b/clang/unittests/Basic/VirtualFileSystemTest.cpp index 0b767dd0c8d..005737e9de3 100644 --- a/clang/unittests/Basic/VirtualFileSystemTest.cpp +++ b/clang/unittests/Basic/VirtualFileSystemTest.cpp @@ -602,6 +602,19 @@ TEST_F(InMemoryFileSystemTest, DirectoryIteration) { ASSERT_EQ(vfs::directory_iterator(), I); } +TEST_F(InMemoryFileSystemTest, WorkingDirectory) { + FS.setCurrentWorkingDirectory("/b"); + FS.addFile("c", 0, MemoryBuffer::getMemBuffer("")); + + auto Stat = FS.status("/b/c"); + ASSERT_FALSE(Stat.getError()) << Stat.getError() << "\n" << FS.toString(); + ASSERT_EQ("c", Stat->getName()); + ASSERT_EQ("/b", *FS.getCurrentWorkingDirectory()); + + Stat = FS.status("c"); + ASSERT_FALSE(Stat.getError()) << Stat.getError() << "\n" << FS.toString(); +} + // NOTE: in the tests below, we use '//root/' as our root directory, since it is // a legal *absolute* path on Windows as well as *nix. class VFSFromYAMLTest : public ::testing::Test { -- cgit v1.2.3