summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Basic/VirtualFileSystemTest.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2015-10-09 13:03:22 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2015-10-09 13:03:22 +0000
commitdecb2aeab3445a377f19c09116112e097d1b91c0 (patch)
tree7b9d10c65b237d7cede0eed983f0bd16dc255fc1 /clang/unittests/Basic/VirtualFileSystemTest.cpp
parentc5862f08de48298ca5883c806806331df22fe34a (diff)
downloadbcm5719-llvm-decb2aeab3445a377f19c09116112e097d1b91c0.tar.gz
bcm5719-llvm-decb2aeab3445a377f19c09116112e097d1b91c0.zip
[VFS] Just normalize away .. and . in paths for in-memory file systems.
This simplifies the code and gets us support for .. for free. llvm-svn: 249830
Diffstat (limited to 'clang/unittests/Basic/VirtualFileSystemTest.cpp')
-rw-r--r--clang/unittests/Basic/VirtualFileSystemTest.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/unittests/Basic/VirtualFileSystemTest.cpp b/clang/unittests/Basic/VirtualFileSystemTest.cpp
index 6ed811f22f3..b98e999cd60 100644
--- a/clang/unittests/Basic/VirtualFileSystemTest.cpp
+++ b/clang/unittests/Basic/VirtualFileSystemTest.cpp
@@ -569,6 +569,7 @@ TEST_F(InMemoryFileSystemTest, OverlayFileNoOwn) {
TEST_F(InMemoryFileSystemTest, OpenFileForRead) {
FS.addFile("/a", 0, MemoryBuffer::getMemBuffer("a"));
FS.addFile("././c", 0, MemoryBuffer::getMemBuffer("c"));
+ FS.addFile("./d/../d", 0, MemoryBuffer::getMemBuffer("d"));
auto File = FS.openFileForRead("/a");
ASSERT_EQ("a", (*(*File)->getBuffer("ignored"))->getBuffer());
File = FS.openFileForRead("/a"); // Open again.
@@ -581,6 +582,8 @@ TEST_F(InMemoryFileSystemTest, OpenFileForRead) {
ASSERT_EQ(File.getError(), errc::no_such_file_or_directory) << FS.toString();
File = FS.openFileForRead("./c");
ASSERT_EQ("c", (*(*File)->getBuffer("ignored"))->getBuffer());
+ File = FS.openFileForRead("e/../d");
+ ASSERT_EQ("d", (*(*File)->getBuffer("ignored"))->getBuffer());
}
TEST_F(InMemoryFileSystemTest, DirectoryIteration) {
OpenPOWER on IntegriCloud