summaryrefslogtreecommitdiff
path: root/test/buildtool/file_system
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2025-06-04 14:15:01 +0200
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2025-06-04 14:34:44 +0200
commit97bd521804d8b54230ec114c2dddf64c6c491dde (patch)
treeecaba3fce5c81654bf99290840a96fe4a0940588 /test/buildtool/file_system
parent0c4ac5ce707be113fd01ec8c1c4ce3120b8f202f (diff)
downloadjustbuild-97bd521804d8b54230ec114c2dddf64c6c491dde.tar.gz
directory_map: Correctly report fatal on failures to read from workspace roots
Diffstat (limited to 'test/buildtool/file_system')
-rw-r--r--test/buildtool/file_system/directory_entries.test.cpp70
-rw-r--r--test/buildtool/file_system/file_root.test.cpp17
2 files changed, 46 insertions, 41 deletions
diff --git a/test/buildtool/file_system/directory_entries.test.cpp b/test/buildtool/file_system/directory_entries.test.cpp
index 4390f809..2fc3c63c 100644
--- a/test/buildtool/file_system/directory_entries.test.cpp
+++ b/test/buildtool/file_system/directory_entries.test.cpp
@@ -89,18 +89,19 @@ TEST_CASE("Get entries of a directory", "[directory_entries]") {
auto fs_root = FileRoot();
auto dir_entries = fs_root.ReadDirectory(dir);
- CHECK(dir_entries.ContainsBlob("test_repo.bundle"));
- CHECK(dir_entries.ContainsBlob("test_repo_symlinks.bundle"));
- CHECK(dir_entries.ContainsBlob("empty_executable"));
- CHECK(dir_entries.ContainsBlob("example_file"));
+ REQUIRE(dir_entries.has_value());
+ CHECK(dir_entries->ContainsBlob("test_repo.bundle"));
+ CHECK(dir_entries->ContainsBlob("test_repo_symlinks.bundle"));
+ CHECK(dir_entries->ContainsBlob("empty_executable"));
+ CHECK(dir_entries->ContainsBlob("example_file"));
{
// all the entries returned by FilesIterator are files,
// are contained in reference_entries,
// and are 4
auto counter = 0;
- for (const auto& x : dir_entries.FilesIterator()) {
+ for (const auto& x : dir_entries->FilesIterator()) {
REQUIRE(reference_entries.contains(x));
- CHECK(dir_entries.ContainsBlob(x));
+ CHECK(dir_entries->ContainsBlob(x));
++counter;
}
@@ -113,9 +114,9 @@ TEST_CASE("Get entries of a directory", "[directory_entries]") {
// and are 1
auto counter = 0;
- for (const auto& x : dir_entries.DirectoriesIterator()) {
+ for (const auto& x : dir_entries->DirectoriesIterator()) {
REQUIRE(reference_entries.contains(x));
- CHECK_FALSE(dir_entries.ContainsBlob(x));
+ CHECK_FALSE(dir_entries->ContainsBlob(x));
++counter;
}
@@ -129,17 +130,18 @@ TEST_CASE("Get entries of a git tree", "[directory_entries]") {
auto repo = *CreateTestRepo(true);
auto fs_root = FileRoot();
auto dir_entries = fs_root.ReadDirectory(repo);
- CHECK(dir_entries.ContainsBlob("bar"));
- CHECK(dir_entries.ContainsBlob("foo"));
- CHECK_FALSE(dir_entries.ContainsBlob("baz"));
+ REQUIRE(dir_entries.has_value());
+ CHECK(dir_entries->ContainsBlob("bar"));
+ CHECK(dir_entries->ContainsBlob("foo"));
+ CHECK_FALSE(dir_entries->ContainsBlob("baz"));
{
// all the entries returned by FilesIterator are files,
// are contained in reference_entries,
// and are 2 (foo, and bar)
auto counter = 0;
- for (const auto& x : dir_entries.FilesIterator()) {
+ for (const auto& x : dir_entries->FilesIterator()) {
REQUIRE(reference_entries.contains(x));
- CHECK(dir_entries.ContainsBlob(x));
+ CHECK(dir_entries->ContainsBlob(x));
++counter;
}
@@ -151,9 +153,9 @@ TEST_CASE("Get entries of a git tree", "[directory_entries]") {
// are contained in reference_entries,
// and are 2 (baz, and .git)
auto counter = 0;
- for (const auto& x : dir_entries.DirectoriesIterator()) {
+ for (const auto& x : dir_entries->DirectoriesIterator()) {
REQUIRE(reference_entries.contains(x));
- CHECK_FALSE(dir_entries.ContainsBlob(x));
+ CHECK_FALSE(dir_entries->ContainsBlob(x));
++counter;
}
@@ -199,17 +201,18 @@ TEST_CASE("Get ignore-special entries of a git tree with symlinks",
auto repo = *CreateTestRepoSymlinks(true);
auto fs_root = FileRoot(/*ignore_special=*/true);
auto dir_entries = fs_root.ReadDirectory(repo);
- CHECK(dir_entries.ContainsBlob("bar"));
- CHECK(dir_entries.ContainsBlob("foo"));
- CHECK_FALSE(dir_entries.ContainsBlob("baz"));
+ REQUIRE(dir_entries.has_value());
+ CHECK(dir_entries->ContainsBlob("bar"));
+ CHECK(dir_entries->ContainsBlob("foo"));
+ CHECK_FALSE(dir_entries->ContainsBlob("baz"));
{
// all the entries returned by FilesIterator are files,
// are contained in reference_entries,
// and are 2 (foo, and bar)
auto counter = 0;
- for (const auto& x : dir_entries.FilesIterator()) {
+ for (const auto& x : dir_entries->FilesIterator()) {
REQUIRE(reference_entries.contains(x));
- CHECK(dir_entries.ContainsBlob(x));
+ CHECK(dir_entries->ContainsBlob(x));
++counter;
}
@@ -221,9 +224,9 @@ TEST_CASE("Get ignore-special entries of a git tree with symlinks",
// are contained in reference_entries,
// and are 2 (baz, and .git)
auto counter = 0;
- for (const auto& x : dir_entries.DirectoriesIterator()) {
+ for (const auto& x : dir_entries->DirectoriesIterator()) {
REQUIRE(reference_entries.contains(x));
- CHECK_FALSE(dir_entries.ContainsBlob(x));
+ CHECK_FALSE(dir_entries->ContainsBlob(x));
++counter;
}
@@ -237,19 +240,20 @@ TEST_CASE("Get entries of a git tree with symlinks", "[directory_entries]") {
auto repo = *CreateTestRepoSymlinks(true);
auto fs_root = FileRoot(/*ignore_special=*/false);
auto dir_entries = fs_root.ReadDirectory(repo);
- CHECK(dir_entries.ContainsBlob("bar"));
- CHECK(dir_entries.ContainsBlob("foo"));
- CHECK_FALSE(dir_entries.ContainsBlob("baz"));
- CHECK(dir_entries.ContainsBlob("foo_l"));
- CHECK(dir_entries.ContainsBlob("baz_l"));
+ REQUIRE(dir_entries.has_value());
+ CHECK(dir_entries->ContainsBlob("bar"));
+ CHECK(dir_entries->ContainsBlob("foo"));
+ CHECK_FALSE(dir_entries->ContainsBlob("baz"));
+ CHECK(dir_entries->ContainsBlob("foo_l"));
+ CHECK(dir_entries->ContainsBlob("baz_l"));
{
// all the entries returned by FilesIterator are files,
// are contained in reference_entries,
// and are 2 (foo, and bar)
auto counter = 0;
- for (const auto& x : dir_entries.FilesIterator()) {
+ for (const auto& x : dir_entries->FilesIterator()) {
REQUIRE(reference_entries.contains(x));
- CHECK(dir_entries.ContainsBlob(x));
+ CHECK(dir_entries->ContainsBlob(x));
++counter;
}
@@ -260,9 +264,9 @@ TEST_CASE("Get entries of a git tree with symlinks", "[directory_entries]") {
// are contained in reference_entries,
// and are 2 (foo_l, and baz_l)
auto counter = 0;
- for (const auto& x : dir_entries.SymlinksIterator()) {
+ for (const auto& x : dir_entries->SymlinksIterator()) {
REQUIRE(reference_entries.contains(x));
- CHECK(dir_entries.ContainsBlob(x));
+ CHECK(dir_entries->ContainsBlob(x));
++counter;
}
@@ -274,9 +278,9 @@ TEST_CASE("Get entries of a git tree with symlinks", "[directory_entries]") {
// are contained in reference_entries,
// and are 2 (baz, and .git)
auto counter = 0;
- for (const auto& x : dir_entries.DirectoriesIterator()) {
+ for (const auto& x : dir_entries->DirectoriesIterator()) {
REQUIRE(reference_entries.contains(x));
- CHECK_FALSE(dir_entries.ContainsBlob(x));
+ CHECK_FALSE(dir_entries->ContainsBlob(x));
++counter;
}
diff --git a/test/buildtool/file_system/file_root.test.cpp b/test/buildtool/file_system/file_root.test.cpp
index 46b52e79..789eea08 100644
--- a/test/buildtool/file_system/file_root.test.cpp
+++ b/test/buildtool/file_system/file_root.test.cpp
@@ -134,19 +134,20 @@ void TestFileRootReadEntries(FileRoot const& root,
REQUIRE(root.Exists(path));
REQUIRE(root.IsDirectory(path));
auto entries = root.ReadDirectory(path);
+ REQUIRE(entries.has_value());
- CHECK_FALSE(entries.Empty());
- CHECK(entries.ContainsBlob("foo"));
- CHECK(entries.ContainsBlob("bar"));
+ CHECK_FALSE(entries->Empty());
+ CHECK(entries->ContainsBlob("foo"));
+ CHECK(entries->ContainsBlob("bar"));
if (has_baz) {
- CHECK_FALSE(entries.ContainsBlob("baz"));
- CHECK(with_symlinks == entries.ContainsBlob("baz_l"));
- CHECK(with_symlinks == entries.ContainsBlob("foo_l"));
+ CHECK_FALSE(entries->ContainsBlob("baz"));
+ CHECK(with_symlinks == entries->ContainsBlob("baz_l"));
+ CHECK(with_symlinks == entries->ContainsBlob("foo_l"));
}
else {
- CHECK(with_symlinks == entries.ContainsBlob("bar_l"));
+ CHECK(with_symlinks == entries->ContainsBlob("bar_l"));
}
- CHECK_FALSE(entries.ContainsBlob("does_not_exist"));
+ CHECK_FALSE(entries->ContainsBlob("does_not_exist"));
}
void TestFileRootReadDirectory(FileRoot const& root, bool with_symlinks) {