summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2025-05-06 16:31:00 +0200
committerOliver Reiche <oliver.reiche@huawei.com>2025-05-12 18:30:04 +0200
commit7e503da6c18c50e03d3cb1f5d7490f3c805f3b63 (patch)
tree28ac42340ae5aa1d368b6d5a126763ed4ab2bfae
parentfe4006fce755432b1ae3a273873f3649512c7f94 (diff)
downloadjustbuild-7e503da6c18c50e03d3cb1f5d7490f3c805f3b63.tar.gz
Tests: Assume only parents of out_dirs exist
... instead of the full out_dir path, which is not guaranteed by the RBE protocol.
-rw-r--r--test/buildtool/execution_api/common/api_test.hpp22
-rwxr-xr-xtest/end-to-end/built-in-rules/generic_out_dirs.sh7
-rw-r--r--test/end-to-end/remote-execution/native-protocol.sh2
-rw-r--r--test/end-to-end/remote-execution/split-splice.sh3
-rw-r--r--test/end-to-end/target-cache/target-cache-hit.sh2
5 files changed, 21 insertions, 15 deletions
diff --git a/test/buildtool/execution_api/common/api_test.hpp b/test/buildtool/execution_api/common/api_test.hpp
index 441c27b0..10f4e5a8 100644
--- a/test/buildtool/execution_api/common/api_test.hpp
+++ b/test/buildtool/execution_api/common/api_test.hpp
@@ -654,16 +654,18 @@ TestRetrieveFileAndSymlinkWithSameContentToPath(ApiFactory const& api_factory,
auto output_path = std::filesystem::path{"foo/bar/baz"};
- auto action = api->CreateAction(
- *api->UploadTree({}),
- {"/bin/sh",
- "-c",
- fmt::format("set -e\n [ -d {} ]", output_path.string())},
- "",
- {},
- {output_path},
- {},
- props);
+ auto action =
+ api->CreateAction(*api->UploadTree({}),
+ {"/bin/sh",
+ "-c",
+ fmt::format("set -e\n [ -d {} ]\n mkdir -p {}",
+ output_path.parent_path().string(),
+ output_path.string())},
+ "",
+ {},
+ {output_path},
+ {},
+ props);
SECTION("Cache execution result in action cache") {
action->SetCacheFlag(IExecutionAction::CacheFlag::CacheOutput);
diff --git a/test/end-to-end/built-in-rules/generic_out_dirs.sh b/test/end-to-end/built-in-rules/generic_out_dirs.sh
index c4dd81da..a2ad058d 100755
--- a/test/end-to-end/built-in-rules/generic_out_dirs.sh
+++ b/test/end-to-end/built-in-rules/generic_out_dirs.sh
@@ -21,7 +21,10 @@ mkdir -p lcl-build
cat <<EOF > TARGETS
{ "gen_out_dirs":
- {"type": "generic", "cmds": ["echo foo > out/foo.txt"], "out_dirs": ["out"]}
+ { "type": "generic"
+ , "cmds": ["mkdir -p out", "echo foo > out/foo.txt"]
+ , "out_dirs": ["out"]
+ }
, "read_out_dirs":
{ "type": "generic"
, "cmds": ["cat out/foo.txt > bar.txt"]
@@ -29,7 +32,7 @@ cat <<EOF > TARGETS
, "deps": ["gen_out_dirs"]
}
, "missing_outs_and_out_dirs":
- {"type": "generic", "cmds": ["echo foo > out/foo.txt"]}
+ {"type": "generic", "cmds": ["mkdir -p out", "echo foo > out/foo.txt"]}
, "out_dirs_contains_a_file":
{"type": "generic", "cmds": ["echo foo > foo.txt"], "out_dirs": ["foo.txt"]}
, "outs_contains_a_dir":
diff --git a/test/end-to-end/remote-execution/native-protocol.sh b/test/end-to-end/remote-execution/native-protocol.sh
index 00e1dd91..99ed1475 100644
--- a/test/end-to-end/remote-execution/native-protocol.sh
+++ b/test/end-to-end/remote-execution/native-protocol.sh
@@ -59,7 +59,7 @@ EOF
cat > TARGETS <<EOF
{ "test":
{ "type": "generic"
- , "cmds": ["cp -r ${DIRNAME} ${OUT_DIRNAME}"]
+ , "cmds": ["mkdir -p ${OUT_DIRNAME}", "cp -r ${DIRNAME} ${OUT_DIRNAME}"]
, "deps": [["TREE", null, "${DIRNAME}"]]
, "out_dirs": ["${OUT_DIRNAME}"]
}
diff --git a/test/end-to-end/remote-execution/split-splice.sh b/test/end-to-end/remote-execution/split-splice.sh
index 20b509f8..8340194a 100644
--- a/test/end-to-end/remote-execution/split-splice.sh
+++ b/test/end-to-end/remote-execution/split-splice.sh
@@ -106,7 +106,8 @@ cat > TARGETS <<'EOF'
{ "type": "generic"
, "out_dirs": ["tree"]
, "cmds":
- [ "for i in $(seq 21846); do echo foo > tree/$(printf '%0192d' $i).txt; done"
+ [ "mkdir -p tree"
+ , "for i in $(seq 21846); do echo foo > tree/$(printf '%0192d' $i).txt; done"
, "echo foo > tree/magic_word.txt"
]
}
diff --git a/test/end-to-end/target-cache/target-cache-hit.sh b/test/end-to-end/target-cache/target-cache-hit.sh
index 929c9b20..ba52fec3 100644
--- a/test/end-to-end/target-cache/target-cache-hit.sh
+++ b/test/end-to-end/target-cache/target-cache-hit.sh
@@ -42,7 +42,7 @@ cat > TARGETS <<EOF
{ "main": {"type": "export", "target": ["./", "main-target"]}
, "main-target":
{ "type": "generic"
- , "cmds": ["echo $RND | tee foo.txt out/bar.txt"]
+ , "cmds": ["mkdir -p out", "echo $RND | tee foo.txt out/bar.txt"]
, "outs": ["foo.txt"]
, "out_dirs": ["out"]
}