| 168 | } // end anonymous namespace |
| 169 | |
| 170 | TEST(VirtualFileSystemTest, StatusQueries) { |
| 171 | IntrusiveRefCntPtr<DummyFileSystem> D(new DummyFileSystem()); |
| 172 | ErrorOr<vfs::Status> Status((std::error_code())); |
| 173 | |
| 174 | D->addRegularFile("/foo"); |
| 175 | Status = D->status("/foo"); |
| 176 | ASSERT_FALSE(Status.getError()); |
| 177 | EXPECT_TRUE(Status->isStatusKnown()); |
| 178 | EXPECT_FALSE(Status->isDirectory()); |
| 179 | EXPECT_TRUE(Status->isRegularFile()); |
| 180 | EXPECT_FALSE(Status->isSymlink()); |
| 181 | EXPECT_FALSE(Status->isOther()); |
| 182 | EXPECT_TRUE(Status->exists()); |
| 183 | |
| 184 | D->addDirectory("/bar"); |
| 185 | Status = D->status("/bar"); |
| 186 | ASSERT_FALSE(Status.getError()); |
| 187 | EXPECT_TRUE(Status->isStatusKnown()); |
| 188 | EXPECT_TRUE(Status->isDirectory()); |
| 189 | EXPECT_FALSE(Status->isRegularFile()); |
| 190 | EXPECT_FALSE(Status->isSymlink()); |
| 191 | EXPECT_FALSE(Status->isOther()); |
| 192 | EXPECT_TRUE(Status->exists()); |
| 193 | |
| 194 | D->addSymlink("/baz"); |
| 195 | Status = D->status("/baz"); |
| 196 | ASSERT_FALSE(Status.getError()); |
| 197 | EXPECT_TRUE(Status->isStatusKnown()); |
| 198 | EXPECT_FALSE(Status->isDirectory()); |
| 199 | EXPECT_FALSE(Status->isRegularFile()); |
| 200 | EXPECT_TRUE(Status->isSymlink()); |
| 201 | EXPECT_FALSE(Status->isOther()); |
| 202 | EXPECT_TRUE(Status->exists()); |
| 203 | |
| 204 | EXPECT_TRUE(Status->equivalent(*Status)); |
| 205 | ErrorOr<vfs::Status> Status2 = D->status("/foo"); |
| 206 | ASSERT_FALSE(Status2.getError()); |
| 207 | EXPECT_FALSE(Status->equivalent(*Status2)); |
| 208 | } |
| 209 | |
| 210 | TEST(VirtualFileSystemTest, BaseOnlyOverlay) { |
| 211 | IntrusiveRefCntPtr<DummyFileSystem> D(new DummyFileSystem()); |
nothing calls this directly
no test coverage detected