diff options
Diffstat (limited to 'llvm/unittests/Support/Path.cpp')
-rw-r--r-- | llvm/unittests/Support/Path.cpp | 67 |
1 files changed, 21 insertions, 46 deletions
diff --git a/llvm/unittests/Support/Path.cpp b/llvm/unittests/Support/Path.cpp index cba6ce94c44..c18eb929e91 100644 --- a/llvm/unittests/Support/Path.cpp +++ b/llvm/unittests/Support/Path.cpp @@ -883,87 +883,62 @@ TEST_F(FileSystemTest, BrokenSymlinkDirectoryIteration) { v_t VisitedNonBrokenSymlinks; v_t VisitedBrokenSymlinks; std::error_code ec; + using testing::UnorderedElementsAre; + using testing::UnorderedElementsAreArray; // Broken symbol links are expected to throw an error. for (fs::directory_iterator i(Twine(TestDirectory) + "/symlink", ec), e; i != e; i.increment(ec)) { - if (ec == std::make_error_code(std::errc::no_such_file_or_directory)) { + ASSERT_NO_ERROR(ec); + if (i->status().getError() == + std::make_error_code(std::errc::no_such_file_or_directory)) { VisitedBrokenSymlinks.push_back(path::filename(i->path())); continue; } - - ASSERT_NO_ERROR(ec); VisitedNonBrokenSymlinks.push_back(path::filename(i->path())); } - llvm::sort(VisitedNonBrokenSymlinks); - llvm::sort(VisitedBrokenSymlinks); - v_t ExpectedNonBrokenSymlinks = {"b", "d"}; - ASSERT_EQ(ExpectedNonBrokenSymlinks.size(), VisitedNonBrokenSymlinks.size()); - ASSERT_TRUE(std::equal(VisitedNonBrokenSymlinks.begin(), - VisitedNonBrokenSymlinks.end(), - ExpectedNonBrokenSymlinks.begin())); + EXPECT_THAT(VisitedNonBrokenSymlinks, UnorderedElementsAre("b", "d")); VisitedNonBrokenSymlinks.clear(); - v_t ExpectedBrokenSymlinks = {"a", "c", "e"}; - ASSERT_EQ(ExpectedBrokenSymlinks.size(), VisitedBrokenSymlinks.size()); - ASSERT_TRUE(std::equal(VisitedBrokenSymlinks.begin(), - VisitedBrokenSymlinks.end(), - ExpectedBrokenSymlinks.begin())); + EXPECT_THAT(VisitedBrokenSymlinks, UnorderedElementsAre("a", "c", "e")); VisitedBrokenSymlinks.clear(); // Broken symbol links are expected to throw an error. for (fs::recursive_directory_iterator i( Twine(TestDirectory) + "/symlink", ec), e; i != e; i.increment(ec)) { - if (ec == std::make_error_code(std::errc::no_such_file_or_directory)) { + ASSERT_NO_ERROR(ec); + if (i->status().getError() == + std::make_error_code(std::errc::no_such_file_or_directory)) { VisitedBrokenSymlinks.push_back(path::filename(i->path())); continue; } - - ASSERT_NO_ERROR(ec); VisitedNonBrokenSymlinks.push_back(path::filename(i->path())); } - llvm::sort(VisitedNonBrokenSymlinks); - llvm::sort(VisitedBrokenSymlinks); - ExpectedNonBrokenSymlinks = {"b", "bb", "d", "da", "dd", "ddd", "ddd"}; - ASSERT_EQ(ExpectedNonBrokenSymlinks.size(), VisitedNonBrokenSymlinks.size()); - ASSERT_TRUE(std::equal(VisitedNonBrokenSymlinks.begin(), - VisitedNonBrokenSymlinks.end(), - ExpectedNonBrokenSymlinks.begin())); + EXPECT_THAT(VisitedNonBrokenSymlinks, + UnorderedElementsAre("b", "bb", "d", "da", "dd", "ddd", "ddd")); VisitedNonBrokenSymlinks.clear(); - ExpectedBrokenSymlinks = {"a", "ba", "bc", "c", "e"}; - ASSERT_EQ(ExpectedBrokenSymlinks.size(), VisitedBrokenSymlinks.size()); - ASSERT_TRUE(std::equal(VisitedBrokenSymlinks.begin(), - VisitedBrokenSymlinks.end(), - ExpectedBrokenSymlinks.begin())); + EXPECT_THAT(VisitedBrokenSymlinks, + UnorderedElementsAre("a", "ba", "bc", "c", "e")); VisitedBrokenSymlinks.clear(); for (fs::recursive_directory_iterator i( Twine(TestDirectory) + "/symlink", ec, /*follow_symlinks=*/false), e; i != e; i.increment(ec)) { - if (ec == std::make_error_code(std::errc::no_such_file_or_directory)) { + ASSERT_NO_ERROR(ec); + if (i->status().getError() == + std::make_error_code(std::errc::no_such_file_or_directory)) { VisitedBrokenSymlinks.push_back(path::filename(i->path())); continue; } - - ASSERT_NO_ERROR(ec); VisitedNonBrokenSymlinks.push_back(path::filename(i->path())); } - llvm::sort(VisitedNonBrokenSymlinks); - llvm::sort(VisitedBrokenSymlinks); - ExpectedNonBrokenSymlinks = {"a", "b", "ba", "bb", "bc", "c", "d", "da", "dd", - "ddd", "e"}; - ASSERT_EQ(ExpectedNonBrokenSymlinks.size(), VisitedNonBrokenSymlinks.size()); - ASSERT_TRUE(std::equal(VisitedNonBrokenSymlinks.begin(), - VisitedNonBrokenSymlinks.end(), - ExpectedNonBrokenSymlinks.begin())); + EXPECT_THAT(VisitedNonBrokenSymlinks, + UnorderedElementsAreArray({"a", "b", "ba", "bb", "bc", "c", "d", + "da", "dd", "ddd", "e"})); VisitedNonBrokenSymlinks.clear(); - ExpectedBrokenSymlinks = {}; - ASSERT_EQ(ExpectedBrokenSymlinks.size(), VisitedBrokenSymlinks.size()); - ASSERT_TRUE(std::equal(VisitedBrokenSymlinks.begin(), - VisitedBrokenSymlinks.end(), - ExpectedBrokenSymlinks.begin())); + EXPECT_THAT(VisitedBrokenSymlinks, UnorderedElementsAre()); VisitedBrokenSymlinks.clear(); ASSERT_NO_ERROR(fs::remove_directories(Twine(TestDirectory) + "/symlink")); |