From f2f774997357cc6690d8a2446140d0c4df83e828 Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Wed, 11 Dec 2019 09:50:00 -0800 Subject: [PATCH] [VFS] Extend virtual working directory test Extend the virtual working directory test with a few edge cases that are not currently tested. --- llvm/unittests/Support/VirtualFileSystemTest.cpp | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/llvm/unittests/Support/VirtualFileSystemTest.cpp b/llvm/unittests/Support/VirtualFileSystemTest.cpp index 69e9ce8..87547b2 100644 --- a/llvm/unittests/Support/VirtualFileSystemTest.cpp +++ b/llvm/unittests/Support/VirtualFileSystemTest.cpp @@ -2089,6 +2089,16 @@ TEST_F(VFSFromYAMLTest, WorkingDirectoryFallthrough) { " 'external-contents': '//root/foo/a'\n" " }\n" " ]\n" + "},\n" + "{\n" + " 'type': 'directory',\n" + " 'name': '//root/bar/baz',\n" + " 'contents': [ {\n" + " 'type': 'file',\n" + " 'name': 'a',\n" + " 'external-contents': '//root/foo/a'\n" + " }\n" + " ]\n" "}\n" "]\n" "}", @@ -2125,6 +2135,21 @@ TEST_F(VFSFromYAMLTest, WorkingDirectoryFallthrough) { Status = FS->status("c"); ASSERT_FALSE(Status.getError()); EXPECT_TRUE(Status->exists()); + + Status = FS->status("./bar/baz/a"); + ASSERT_FALSE(Status.getError()); + EXPECT_TRUE(Status->exists()); + + EC = FS->setCurrentWorkingDirectory("//root/bar"); + ASSERT_FALSE(EC); + + Status = FS->status("./baz/a"); + ASSERT_FALSE(Status.getError()); + EXPECT_TRUE(Status->exists()); + + Status = FS->status("../bar/baz/a"); + ASSERT_FALSE(Status.getError()); + EXPECT_TRUE(Status->exists()); } TEST_F(VFSFromYAMLTest, WorkingDirectoryFallthroughInvalid) { -- 2.7.4