summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/end-to-end/actions/action-equality.sh3
-rwxr-xr-xtest/end-to-end/actions/nested-trees.sh3
-rwxr-xr-xtest/end-to-end/built-in-rules/generic_out_dirs.sh6
-rw-r--r--test/end-to-end/cli/build-p.sh10
-rw-r--r--test/end-to-end/cli/install.sh10
-rw-r--r--test/end-to-end/gc/basic.sh8
-rw-r--r--test/end-to-end/gc/export.sh3
-rwxr-xr-xtest/end-to-end/generated-binary/compiled.sh2
-rwxr-xr-xtest/end-to-end/generated-binary/shell-script.sh2
-rw-r--r--test/end-to-end/git-import/TARGETS13
-rwxr-xr-xtest/end-to-end/git-import/chained-import.sh2
-rw-r--r--test/end-to-end/just-mr/fetch-absent-archives-symlinks.sh4
-rw-r--r--test/end-to-end/just-mr/fetch-absent-archives.sh5
-rw-r--r--test/end-to-end/just-mr/fetch-absent-distdir-archive.sh4
-rw-r--r--test/end-to-end/just-mr/fetch-absent-git-tree.sh3
-rw-r--r--test/end-to-end/just-mr/fetch-absent.sh5
-rw-r--r--test/end-to-end/just-mr/just-mr.test.sh2
-rw-r--r--test/end-to-end/remote-execution/large-blobs.sh3
-rw-r--r--test/end-to-end/remote-execution/native-protocol.sh8
-rw-r--r--test/end-to-end/remote-execution/upload-test.sh8
-rw-r--r--test/end-to-end/serve-service/serve_export_deps.sh8
-rw-r--r--test/end-to-end/serve-service/serve_start_execute_sharding.sh6
-rw-r--r--test/end-to-end/serve-service/serve_target_cache_hit.sh7
-rw-r--r--test/end-to-end/symlinks/stage-links.sh4
-rw-r--r--test/end-to-end/target-cache/TARGETS13
-rw-r--r--test/end-to-end/target-cache/artifacts-sync.sh5
-rw-r--r--test/end-to-end/target-cache/target-cache-hit.sh8
-rwxr-xr-xtest/end-to-end/target-tests/glob.sh8
-rwxr-xr-xtest/end-to-end/target-tests/repo_names.sh4
-rwxr-xr-xtest/end-to-end/target-tests/tree-inputs.sh1
-rwxr-xr-xtest/end-to-end/target-tests/upwards.sh2
31 files changed, 120 insertions, 50 deletions
diff --git a/test/end-to-end/actions/action-equality.sh b/test/end-to-end/actions/action-equality.sh
index 2a070814..517035e0 100755
--- a/test/end-to-end/actions/action-equality.sh
+++ b/test/end-to-end/actions/action-equality.sh
@@ -60,7 +60,8 @@ cat > TARGETS <<'EOI'
EOI
-bin/tool-under-test build -J 1 --local-build-root .tool-root -f build.log --log-limit 2 2>&1
+bin/tool-under-test build -L '["env", "PATH='"${PATH}"'"]' \
+ -J 1 --local-build-root .tool-root -f build.log --log-limit 2 2>&1
cat build.log
echo
grep 'Processed.* 4 actions' build.log
diff --git a/test/end-to-end/actions/nested-trees.sh b/test/end-to-end/actions/nested-trees.sh
index 346c03d5..a5b052c5 100755
--- a/test/end-to-end/actions/nested-trees.sh
+++ b/test/end-to-end/actions/nested-trees.sh
@@ -118,7 +118,8 @@ cat ../trees.json
echo
echo Build
echo
-../bin/tool-under-test install -o ../out --local-build-root ../tool-root 2>&1
+../bin/tool-under-test install -L '["env", "PATH='"${PATH}"'"]' \
+ -o ../out --local-build-root ../tool-root 2>&1
echo
echo Index
echo
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 afa49d19..c4dd81da 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
@@ -47,7 +47,7 @@ cat <<EOF > TARGETS
EOF
echo "read_out_dirs" >&2
-bin/tool-under-test build --local-build-root lcl-build read_out_dirs
+bin/tool-under-test build -L '["env", "PATH='"${PATH}"'"]' --local-build-root lcl-build read_out_dirs
echo "done" >&2
echo "missing_outs_and_out_dirs" >&2
@@ -64,7 +64,7 @@ echo "out_dirs_contains_a_file" >&2
# the analysis phase should run fine
bin/tool-under-test analyse --local-build-root lcl-build out_dirs_contains_a_file
echo "analysis ok" >&2
-bin/tool-under-test build --local-build-root lcl-build out_dirs_contains_a_file && exit 1 || :
+bin/tool-under-test build -L '["env", "PATH='"${PATH}"'"]' --local-build-root lcl-build out_dirs_contains_a_file && exit 1 || :
echo "done" >&2
echo "outs_contains_a_dir" >&2
@@ -73,7 +73,7 @@ echo "outs_contains_a_dir" >&2
# anlysis should run fine
bin/tool-under-test analyse --local-build-root lcl-build outs_contains_a_dir
echo "analysis ok" >&2
-bin/tool-under-test build --local-build-root lcl-build -f test.log outs_contains_a_dir && exit 1 || :
+bin/tool-under-test build -L '["env", "PATH='"${PATH}"'"]' --local-build-root lcl-build -f test.log outs_contains_a_dir && exit 1 || :
# grep 'ERROR' test.log | grep 'output file'
echo "done" >&2
diff --git a/test/end-to-end/cli/build-p.sh b/test/end-to-end/cli/build-p.sh
index 853ab3e3..9a829fe7 100644
--- a/test/end-to-end/cli/build-p.sh
+++ b/test/end-to-end/cli/build-p.sh
@@ -31,23 +31,23 @@ cat > TARGETS <<'EOF'
}
EOF
-"${JUST}" build --local-build-root "${BUILDROOT}" --dump-artifacts out.json 2>&1
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" --dump-artifacts out.json 2>&1
echo
cat out.json
# foo/bar is the output artifact, and it is a tree
[ $(jq -rM '."foo/bar"."file_type"' out.json) = "t" ]
# Therefore, foo is not an output artifact, so requesting -P leaves stdout empty
-"${JUST}" build --local-build-root "${BUILDROOT}" -P foo > foo.txt
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" -P foo > foo.txt
[ -f foo.txt ] && [ -z "$(cat foo.txt)" ]
# Requesting foo/bar gives a human-readable description of the tree
-"${JUST}" build --local-build-root "${BUILDROOT}" -P foo/bar | grep baz
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" -P foo/bar | grep baz
# going deepter into the tree we stil can get human-readable tree descriptions
-"${JUST}" build --local-build-root "${BUILDROOT}" -P foo/bar/baz/greeting | grep hello.txt
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" -P foo/bar/baz/greeting | grep hello.txt
# Files inside the tree can be retrieved
-"${JUST}" build --local-build-root "${BUILDROOT}" -P foo/bar/baz/greeting/hello.txt | grep World
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" -P foo/bar/baz/greeting/hello.txt | grep World
echo OK
diff --git a/test/end-to-end/cli/install.sh b/test/end-to-end/cli/install.sh
index b3019e5b..1f06af76 100644
--- a/test/end-to-end/cli/install.sh
+++ b/test/end-to-end/cli/install.sh
@@ -45,7 +45,7 @@ echo
# Verify non-interference of install
cd "${SRCDIR}"
-"${TOOL}" install --local-build-root "${BUILDROOT}" -o "${OUTDIR}" 2>&1
+"${TOOL}" install -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" -o "${OUTDIR}" 2>&1
echo
ls -al "${OUTDIR}"
@@ -55,7 +55,7 @@ grep Original unrelated.txt
# Verify non-interference of install
cd "${SRCDIR}"
-"${TOOL}" build --local-build-root "${BUILDROOT}" \
+"${TOOL}" build -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" \
--dump-artifacts "${OUTDIR}/artifacts.json" 2>&1
echo
ID=$(jq -rM '."hello.txt".id' "${OUTDIR}/artifacts.json")
@@ -73,7 +73,7 @@ grep Original unrelated.txt
# Verify non-interference of install (overwrite existing file with symlink)
cd "${SRCDIR}"
-"${TOOL}" install --local-build-root "${BUILDROOT}" -o "${OUTDIR}" symlink 2>&1
+"${TOOL}" install -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" -o "${OUTDIR}" symlink 2>&1
echo
ls -al "${OUTDIR}"
@@ -86,7 +86,7 @@ grep Original unrelated.txt
rm -f ${OUTDIR}/hello.txt
ln -s /noexistent ${OUTDIR}/hello.txt
cd "${SRCDIR}"
-"${TOOL}" install --local-build-root "${BUILDROOT}" -o "${OUTDIR}" symlink 2>&1
+"${TOOL}" install -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" -o "${OUTDIR}" symlink 2>&1
echo
ls -al "${OUTDIR}"
@@ -99,7 +99,7 @@ grep Original unrelated.txt
rm -f ${OUTDIR}/content.txt
ln -s /noexistent ${OUTDIR}/content.txt
cd "${SRCDIR}"
-"${TOOL}" install --local-build-root "${BUILDROOT}" -o "${OUTDIR}" symlink 2>&1
+"${TOOL}" install -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${BUILDROOT}" -o "${OUTDIR}" symlink 2>&1
echo
ls -al "${OUTDIR}"
diff --git a/test/end-to-end/gc/basic.sh b/test/end-to-end/gc/basic.sh
index b3e93ff5..28552885 100644
--- a/test/end-to-end/gc/basic.sh
+++ b/test/end-to-end/gc/basic.sh
@@ -68,14 +68,14 @@ EOF
cat TARGETS
# Build to fill the cache
-"${JUST}" build ${BUILD_ARGS} \
+"${JUST}" build ${BUILD_ARGS} -L '["env", "PATH='"${PATH}"'"]' \
-D '{"ENV": {"TOOLS": "'${TOOLS_DIR}'"}}' 2>&1
# Demonstrate that from now on, we don't build anything any more
rm -rf "${TOOLS_DIR}"
# Verify the large file is in cache
-"${JUST}" install ${BUILD_ARGS} -o "${OUT}/out-large" \
+"${JUST}" install ${BUILD_ARGS} -L '["env", "PATH='"${PATH}"'"]' -o "${OUT}/out-large" \
-D '{"ENV": {"TOOLS": "'${TOOLS_DIR}'"}}' large 2>&1
wc -c "${OUT}/out-large/out.txt"
test $(cat "${OUT}/out-large/out.txt" | wc -c) -gt 100000
@@ -84,7 +84,7 @@ test $(cat "${OUT}/out-large/out.txt" | wc -c) -gt 100000
"${JUST}" gc --local-build-root "${LBR}" 2>&1
# Use the tree
-"${JUST}" build ${BUILD_ARGS} \
+"${JUST}" build ${BUILD_ARGS} -L '["env", "PATH='"${PATH}"'"]' \
-D '{"ENV": {"TOOLS": "'${TOOLS_DIR}'"}}' tree 2>&1
# collect garbage again
@@ -96,7 +96,7 @@ wc -c "${OUT}/root.tar"
test $(cat "${OUT}/root.tar" | wc -c) -lt 100000
# Verify that the tree is fully in cache
-"${JUST}" install ${BUILD_ARGS} -o "${OUT}/out-tree" \
+"${JUST}" install ${BUILD_ARGS} -L '["env", "PATH='"${PATH}"'"]' -o "${OUT}/out-tree" \
-D '{"ENV": {"TOOLS": "'${TOOLS_DIR}'"}}' tree 2>&1
ls -R "${OUT}/out-tree"
test -f "${OUT}/out-tree/out/hello/world/tree/hello.txt"
diff --git a/test/end-to-end/gc/export.sh b/test/end-to-end/gc/export.sh
index 87ec32fd..83185a1d 100644
--- a/test/end-to-end/gc/export.sh
+++ b/test/end-to-end/gc/export.sh
@@ -73,6 +73,7 @@ cat TARGETS
# Build to fill the cache
"${JUST_MR}" ${JUST_MR_ARGS} build ${BUILD_ARGS} \
+ -L '["env", "PATH='"${PATH}"'"]' \
-D '{"ENV": {"TOOLS": "'${TOOLS_DIR}'"}}' 2>&1
# Demonstrate that from now on, we don't build anything any more
@@ -86,6 +87,7 @@ rm -rf ${LBR}/protocol-dependent/generation-*/*/ac
# Use the export
"${JUST_MR}" ${JUST_MR_ARGS} build ${BUILD_ARGS} \
+ -L '["env", "PATH='"${PATH}"'"]' \
-D '{"ENV": {"TOOLS": "'${TOOLS_DIR}'"}}' 2>&1
# collect garbage again
@@ -93,6 +95,7 @@ rm -rf ${LBR}/protocol-dependent/generation-*/*/ac
# Verify that the export target is fully in cache
"${JUST_MR}" ${JUST_MR_ARGS} install ${BUILD_ARGS} -o "${OUT}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
-D '{"ENV": {"TOOLS": "'${TOOLS_DIR}'"}}' 2>&1
ls -R "${OUT}"
test -f "${OUT}/out/hello/world/tree/hello.txt"
diff --git a/test/end-to-end/generated-binary/compiled.sh b/test/end-to-end/generated-binary/compiled.sh
index 56434dc8..aa90961c 100755
--- a/test/end-to-end/generated-binary/compiled.sh
+++ b/test/end-to-end/generated-binary/compiled.sh
@@ -34,4 +34,4 @@ bin/tool-under-test analyse --local-build-root .tool-root --dump-graph graph.jso
echo
echo "Building"
-bin/tool-under-test install -o out --local-build-root .tool-root -J 16 2>&1
+bin/tool-under-test install -L '["env", "PATH='"${PATH}"'"]' -o out --local-build-root .tool-root -J 16 2>&1
diff --git a/test/end-to-end/generated-binary/shell-script.sh b/test/end-to-end/generated-binary/shell-script.sh
index 6dfaa500..3718a0f8 100755
--- a/test/end-to-end/generated-binary/shell-script.sh
+++ b/test/end-to-end/generated-binary/shell-script.sh
@@ -58,6 +58,6 @@ cat > TARGETS <<'EOI'
EOI
-bin/tool-under-test install -o out --local-build-root .tool-root 2>&1
+bin/tool-under-test install -L '["env", "PATH='"${PATH}"'"]' -o out --local-build-root .tool-root 2>&1
grep Hello out/out.txt
grep Good out/out.txt
diff --git a/test/end-to-end/git-import/TARGETS b/test/end-to-end/git-import/TARGETS
index ef379f37..bcf8cf56 100644
--- a/test/end-to-end/git-import/TARGETS
+++ b/test/end-to-end/git-import/TARGETS
@@ -29,7 +29,18 @@
}
, "TESTS":
{ "type": "install"
+ , "arguments_config": ["TEST_BOOTSTRAP_JUST_MR"]
, "tainted": ["test"]
- , "deps": ["chained-import", "deduplicate"]
+ , "deps":
+ { "type": "++"
+ , "$1":
+ [ ["deduplicate"]
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "TEST_BOOTSTRAP_JUST_MR"}
+ , "then": []
+ , "else": ["chained-import", "deduplicate"]
+ }
+ ]
+ }
}
}
diff --git a/test/end-to-end/git-import/chained-import.sh b/test/end-to-end/git-import/chained-import.sh
index e9f98198..b3b2d5b9 100755
--- a/test/end-to-end/git-import/chained-import.sh
+++ b/test/end-to-end/git-import/chained-import.sh
@@ -82,7 +82,7 @@ EOF
echo
cat repos.json
echo
-"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" install -o "${OUT}" 2>&1
+"${JUST_MR}" -L '["env", "PATH='"${PATH}"'"]' --norc --just "${JUST}" --local-build-root "${LBR}" install -o "${OUT}" 2>&1
echo
cat "${OUT}/out.txt"
echo
diff --git a/test/end-to-end/just-mr/fetch-absent-archives-symlinks.sh b/test/end-to-end/just-mr/fetch-absent-archives-symlinks.sh
index 217ea61a..48effd5c 100644
--- a/test/end-to-end/just-mr/fetch-absent-archives-symlinks.sh
+++ b/test/end-to-end/just-mr/fetch-absent-archives-symlinks.sh
@@ -68,12 +68,14 @@ echo
cat repos.json
echo
CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--fetch-absent setup)
cat $CONF
echo
"${JUST}" install --local-build-root "${LBR}" -C "${CONF}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
-r "${REMOTE_EXECUTION_ADDRESS}" -o "${OUT}" 2>&1
grep x "${OUT}/out.txt"
@@ -81,6 +83,7 @@ grep x "${OUT}/out.txt"
# about the root should now be available locally, so we can build without
# a serve or remote endpoint with still (logically) fetching absent roots.
"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--fetch-absent install -o "${OUT2}" 2>&1
grep x "${OUT2}/out.txt"
@@ -107,6 +110,7 @@ echo
cat repos.json
echo
"${JUST_MR}" --norc --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--just "${JUST}" \
diff --git a/test/end-to-end/just-mr/fetch-absent-archives.sh b/test/end-to-end/just-mr/fetch-absent-archives.sh
index 52c05cb8..2b26bf71 100644
--- a/test/end-to-end/just-mr/fetch-absent-archives.sh
+++ b/test/end-to-end/just-mr/fetch-absent-archives.sh
@@ -64,12 +64,14 @@ echo
cat repos.json
echo
CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--fetch-absent setup)
cat $CONF
echo
"${JUST}" install --local-build-root "${LBR}" -C "${CONF}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
-r "${REMOTE_EXECUTION_ADDRESS}" -o "${OUT}" 2>&1
grep 42 "${OUT}/out.txt"
@@ -77,6 +79,7 @@ grep 42 "${OUT}/out.txt"
# about the root should now be available locally, so we can build without
# a serve or remote endpoint with still (logically) fetching absent roots.
"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--fetch-absent install -o "${OUT2}" 2>&1
grep 42 "${OUT2}/out.txt"
@@ -107,6 +110,7 @@ cat > targets/TARGETS <<'EOF'
}
EOF
"${JUST_MR}" --norc --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--just "${JUST}" \
@@ -145,6 +149,7 @@ echo
cat repos.json
echo
"${JUST_MR}" --norc --local-build-root "${LBR_NON_ABSENT}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--just "${JUST}" \
diff --git a/test/end-to-end/just-mr/fetch-absent-distdir-archive.sh b/test/end-to-end/just-mr/fetch-absent-distdir-archive.sh
index cded9c4a..ade94031 100644
--- a/test/end-to-end/just-mr/fetch-absent-distdir-archive.sh
+++ b/test/end-to-end/just-mr/fetch-absent-distdir-archive.sh
@@ -72,12 +72,14 @@ echo
cat repos.json
echo
CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--fetch-absent setup)
cat $CONF
echo
"${JUST}" install --local-build-root "${LBR}" -C "${CONF}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
-r "${REMOTE_EXECUTION_ADDRESS}" -o "${OUT}" 2>&1
grep 42 "${OUT}/out.txt"
@@ -85,6 +87,7 @@ grep 42 "${OUT}/out.txt"
# about the root should now be available locally, so we can build without
# a serve or remote endpoint with still (logically) fetching absent roots.
"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--fetch-absent install -o "${OUT2}" 2>&1
grep 42 "${OUT2}/out.txt"
@@ -116,6 +119,7 @@ echo
cat repos.json
echo
"${JUST_MR}" --norc --local-build-root "${LBR_NON_ABSENT}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--just "${JUST}" \
diff --git a/test/end-to-end/just-mr/fetch-absent-git-tree.sh b/test/end-to-end/just-mr/fetch-absent-git-tree.sh
index 5ecc034c..fb5d516a 100644
--- a/test/end-to-end/just-mr/fetch-absent-git-tree.sh
+++ b/test/end-to-end/just-mr/fetch-absent-git-tree.sh
@@ -59,6 +59,7 @@ echo
cat repos.json
echo
CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--fetch-absent setup)
@@ -73,6 +74,7 @@ grep 42 "${OUT}/out.txt"
# about the root should now be available locally, so we can build without
# a serve or remote endpoint with still (logically) fetching absent roots.
"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--fetch-absent install -o "${OUT2}" 2>&1
grep 42 "${OUT2}/out.txt"
@@ -99,6 +101,7 @@ echo
cat repos.json
echo
"${JUST_MR}" --norc --local-build-root "${LBR_NON_ABSENT}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--just "${JUST}" \
diff --git a/test/end-to-end/just-mr/fetch-absent.sh b/test/end-to-end/just-mr/fetch-absent.sh
index 00c76e7b..30267998 100644
--- a/test/end-to-end/just-mr/fetch-absent.sh
+++ b/test/end-to-end/just-mr/fetch-absent.sh
@@ -62,12 +62,14 @@ echo
cat repos.json
echo
CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
--fetch-absent setup)
cat $CONF
echo
"${JUST}" install --local-build-root "${LBR}" -C "${CONF}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
-r "${REMOTE_EXECUTION_ADDRESS}" -o "${OUT}" 2>&1
grep 42 "${OUT}/out.txt"
@@ -75,6 +77,7 @@ grep 42 "${OUT}/out.txt"
# about the root should now be available locally, so we can build without
# a serve or remote endpoint with still (logically) fetching absent roots.
"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--fetch-absent install -o "${OUT2}" 2>&1
grep 42 "${OUT2}/out.txt"
@@ -108,6 +111,7 @@ EOF
"${JUST_MR}" --norc --local-build-root "${LBR}" \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
+ -L '["env", "PATH='"${PATH}"'"]' \
--just "${JUST}" \
--fetch-absent install -o "${OUT3}" 2>&1
grep 42 "${OUT3}/out.txt"
@@ -147,6 +151,7 @@ echo
"${JUST_MR}" --norc --local-build-root "${LBR_NON_ABSENT}" \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} \
+ -L '["env", "PATH='"${PATH}"'"]' \
--just "${JUST}" \
install -o "${OUT_NON_ABSENT}" 2>&1
grep 42 "${OUT_NON_ABSENT}/out.txt"
diff --git a/test/end-to-end/just-mr/just-mr.test.sh b/test/end-to-end/just-mr/just-mr.test.sh
index 276bcfdf..105f1b97 100644
--- a/test/end-to-end/just-mr/just-mr.test.sh
+++ b/test/end-to-end/just-mr/just-mr.test.sh
@@ -252,6 +252,7 @@ echo "Test individual repos"
test_alone() {
CONFIG_CPP=$("${JUST_MR_CPP}" -C test-repos.json --norc \
--local-build-root "${BUILDROOT}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
-j 32 setup "$1")
if [ ! -s "${CONFIG_CPP}" ]; then
exit 1
@@ -279,6 +280,7 @@ echo "Set up parallel run"
test_all() {
CONFIG_CPP=$("${JUST_MR_CPP}" -C test-repos.json --norc \
--local-build-root "${BUILDROOT}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
${DISTDIR_ARGS} -j 32 setup --all)
if [ ! -s "${CONFIG_CPP}" ]; then
exit 1
diff --git a/test/end-to-end/remote-execution/large-blobs.sh b/test/end-to-end/remote-execution/large-blobs.sh
index 21804977..a338825a 100644
--- a/test/end-to-end/remote-execution/large-blobs.sh
+++ b/test/end-to-end/remote-execution/large-blobs.sh
@@ -55,7 +55,8 @@ run_tests() {
echo
echo Upload and download to $NAME $TYPE CAS.
echo
- "${JUST}" build test $BUILD_ARGS --dump-artifacts result
+ "${JUST}" build -L '["env", "PATH='"${PATH}"'"]' $BUILD_ARGS \
+ --dump-artifacts result
echo SUCCESS
local ARTIFACT_ID="$(cat result | jq -r '."out.file".id')"
diff --git a/test/end-to-end/remote-execution/native-protocol.sh b/test/end-to-end/remote-execution/native-protocol.sh
index 3ff3a050..0737b9ff 100644
--- a/test/end-to-end/remote-execution/native-protocol.sh
+++ b/test/end-to-end/remote-execution/native-protocol.sh
@@ -80,7 +80,9 @@ fi
echo
echo Upload and download Git tree to local CAS in ${NAME} mode
echo
-"${JUST}" build -C "${CONF}" --main test test --local-build-root="${LBRDIR}" --dump-artifacts "${RESULT}" ${ARGS} 2>&1
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' -C "${CONF}" --main test \
+ --local-build-root="${LBRDIR}" --dump-artifacts "${RESULT}" \
+ ${ARGS} test 2>&1
TREE_ID="$(jq -r ".${OUT_DIRNAME}.id" "${RESULT}" 2>&1)"
test ${TREE_ID} ${EQUAL} ${GIT_TREE_ID}
@@ -92,6 +94,8 @@ fi
echo
echo Upload and download Git tree to remote CAS in ${NAME} mode
echo
-"${JUST}" build -C "${CONF}" --main test test ${REMOTE_EXECUTION_ARGS} --local-build-root="${LBRDIR}" --dump-artifacts "${RESULT}" ${ARGS} 2>&1
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' -C "${CONF}" --main test \
+ ${REMOTE_EXECUTION_ARGS} --local-build-root="${LBRDIR}" \
+ --dump-artifacts "${RESULT}" ${ARGS} test 2>&1
TREE_ID="$(jq -r ".${OUT_DIRNAME}.id" "${RESULT}" 2>&1)"
test ${TREE_ID} ${EQUAL} ${GIT_TREE_ID}
diff --git a/test/end-to-end/remote-execution/upload-test.sh b/test/end-to-end/remote-execution/upload-test.sh
index f4fbfac7..91f6d069 100644
--- a/test/end-to-end/remote-execution/upload-test.sh
+++ b/test/end-to-end/remote-execution/upload-test.sh
@@ -59,7 +59,7 @@ fi
# Build locally
export CONF="$(realpath repos.json)"
-"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR_1}" ${ARGS} 2>&1
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' -C "${CONF}" --local-build-root="${LBRDIR_1}" ${ARGS} 2>&1
# Build remotely
REMOTE_EXECUTION_ARGS="-r ${REMOTE_EXECUTION_ADDRESS}"
@@ -67,7 +67,7 @@ if [ "${REMOTE_EXECUTION_PROPERTIES:-}" != "" ]; then
REMOTE_EXECUTION_ARGS="${REMOTE_EXECUTION_ARGS} --remote-execution-property ${REMOTE_EXECUTION_PROPERTIES}"
fi
-"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR_1}" ${ARGS} ${REMOTE_EXECUTION_ARGS} 2>&1
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' -C "${CONF}" --local-build-root="${LBRDIR_1}" ${ARGS} ${REMOTE_EXECUTION_ARGS} 2>&1
echo === ignore_special root ===
@@ -84,7 +84,7 @@ fi
# Build locally
export CONF="$(realpath repos.json)"
-"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR_2}" ${ARGS} 2>&1
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' -C "${CONF}" --local-build-root="${LBRDIR_2}" ${ARGS} 2>&1
# Build remotely
REMOTE_EXECUTION_ARGS="-r ${REMOTE_EXECUTION_ADDRESS}"
@@ -92,4 +92,4 @@ if [ "${REMOTE_EXECUTION_PROPERTIES:-}" != "" ]; then
REMOTE_EXECUTION_ARGS="${REMOTE_EXECUTION_ARGS} --remote-execution-property ${REMOTE_EXECUTION_PROPERTIES}"
fi
-"${JUST}" build -C "${CONF}" --local-build-root="${LBRDIR_2}" ${ARGS} ${REMOTE_EXECUTION_ARGS} 2>&1
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' -C "${CONF}" --local-build-root="${LBRDIR_2}" ${ARGS} ${REMOTE_EXECUTION_ARGS} 2>&1
diff --git a/test/end-to-end/serve-service/serve_export_deps.sh b/test/end-to-end/serve-service/serve_export_deps.sh
index 64886a4c..e5889505 100644
--- a/test/end-to-end/serve-service/serve_export_deps.sh
+++ b/test/end-to-end/serve-service/serve_export_deps.sh
@@ -84,9 +84,9 @@ EOF
echo "local repos configuration:"
cat repos.json
-CONF=$("${JUST_MR}" --norc --local-build-root "${SERVE_LBR}" setup)
+CONF=$("${JUST_MR}" -L '["env", "PATH='"${PATH}"'"]' --norc --local-build-root "${SERVE_LBR}" setup)
cat "${CONF}"
-"${JUST}" build --local-build-root "${SERVE_LBR}" -C "${CONF}" -r ${REMOTE_EXECUTION_ADDRESS} ${COMPAT} main
+"${JUST}" build -L '["env", "PATH='"${PATH}"'"]' --local-build-root "${SERVE_LBR}" -C "${CONF}" -r ${REMOTE_EXECUTION_ADDRESS} ${COMPAT} main
)
# Set up local repository
@@ -154,15 +154,17 @@ echo
rm "${GENERATOR}"
-CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" ${COMPAT} setup --all)
+CONF=$("${JUST_MR}" -L '["env", "PATH='"${PATH}"'"]' --norc --local-build-root "${LBR}" ${COMPAT} setup --all)
cat "${CONF}"
echo
# test that we can successfully compile using just serve
"${JUST}" build --main local --local-build-root "${LBR}" -C "${CONF}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} ${COMPAT} main
"${JUST}" build --main local --local-build-root "${LBR}" -C "${CONF}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address ${SERVE} \
-r ${REMOTE_EXECUTION_ADDRESS} ${COMPAT} main
)
diff --git a/test/end-to-end/serve-service/serve_start_execute_sharding.sh b/test/end-to-end/serve-service/serve_start_execute_sharding.sh
index ff5a4481..d6486841 100644
--- a/test/end-to-end/serve-service/serve_start_execute_sharding.sh
+++ b/test/end-to-end/serve-service/serve_start_execute_sharding.sh
@@ -94,7 +94,7 @@ EOF
echo "local repos configuration:"
cat repos.json
echo
-CONF=$("${JUST_MR}" --norc --local-build-root "${SERVE_LBR}" setup)
+CONF=$("${JUST_MR}" -L '["env", "PATH='"${PATH}"'"]' --norc --local-build-root "${SERVE_LBR}" setup)
echo "generated conf":
cat "${CONF}"
@@ -102,6 +102,7 @@ echo
"${JUST}" build \
--local-build-root "${SERVE_LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
-C "${CONF}" \
main
)
@@ -169,13 +170,14 @@ echo "absent repos configuration:"
cat repos.json
echo
-CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" setup)
+CONF=$("${JUST_MR}" -L '["env", "PATH='"${PATH}"'"]' --norc --local-build-root "${LBR}" setup)
cat "${CONF}"
echo
"${JUST}" build \
--local-build-root "${LBR}" \
--remote-serve-address 127.0.0.1:${PORT} \
+ -L '["env", "PATH='"${PATH}"'"]' \
-C "${CONF}" \
main
)
diff --git a/test/end-to-end/serve-service/serve_target_cache_hit.sh b/test/end-to-end/serve-service/serve_target_cache_hit.sh
index 51ced326..ab20ef07 100644
--- a/test/end-to-end/serve-service/serve_target_cache_hit.sh
+++ b/test/end-to-end/serve-service/serve_target_cache_hit.sh
@@ -99,7 +99,7 @@ EOF
echo "local repos configuration:"
cat repos.json
echo
-CONF=$("${JUST_MR}" --norc --local-build-root "${SERVE_LBR}" setup)
+CONF=$("${JUST_MR}" -L '["env", "PATH='"${PATH}"'"]' --norc --local-build-root "${SERVE_LBR}" setup)
echo "generated conf":
cat "${CONF}"
@@ -107,6 +107,7 @@ echo
"${JUST}" build \
--local-build-root "${SERVE_LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
-C "${CONF}" \
-r "${REMOTE_EXECUTION_ADDRESS}" \
${COMPAT} \
@@ -140,7 +141,7 @@ echo
rm "${GENERATOR}"
-CONF=$("${JUST_MR}" --norc --local-build-root "${LBR}" setup)
+CONF=$("${JUST_MR}" -L '["env", "PATH='"${PATH}"'"]' --norc --local-build-root "${LBR}" setup)
cat "${CONF}"
echo
# test that it fails without using just serve
@@ -151,6 +152,7 @@ echo "failed as expected"
# one used by just-serve
"${JUST}" analyse \
--local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address "${SERVE}" \
-C "${CONF}" \
-r "${SERVE}" \
@@ -162,6 +164,7 @@ echo "failed as expected"
# test that we can successfully compile using just serve
"${JUST}" build \
--local-build-root "${LBR}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--remote-serve-address "${SERVE}" \
-C "${CONF}" \
-r "${REMOTE_EXECUTION_ADDRESS}" \
diff --git a/test/end-to-end/symlinks/stage-links.sh b/test/end-to-end/symlinks/stage-links.sh
index b8234d2a..9b3bbf63 100644
--- a/test/end-to-end/symlinks/stage-links.sh
+++ b/test/end-to-end/symlinks/stage-links.sh
@@ -49,7 +49,7 @@ if [ "${REMOTE_EXECUTION_PROPERTIES:-}" != "" ]; then
fi
echo "test staging locally"
-${JUST} build ${ARGS} stage-links
+${JUST} build -L '["env", "PATH='"${PATH}"'"]' ${ARGS} stage-links
echo "test staging remotely"
-${JUST} build ${ARGS} ${REMOTE_EXECUTION_ARGS} stage-links
+${JUST} build -L '["env", "PATH='"${PATH}"'"]' ${ARGS} ${REMOTE_EXECUTION_ARGS} stage-links
diff --git a/test/end-to-end/target-cache/TARGETS b/test/end-to-end/target-cache/TARGETS
index ffdeea3c..5a2b0412 100644
--- a/test/end-to-end/target-cache/TARGETS
+++ b/test/end-to-end/target-cache/TARGETS
@@ -29,6 +29,17 @@
, "TESTS":
{ "type": "install"
, "tainted": ["test"]
- , "deps": ["target-cache-hit", "artifacts-sync"]
+ , "arguments_config": ["TEST_BOOTSTRAP_JUST_MR"]
+ , "deps":
+ { "type": "++"
+ , "$1":
+ [ ["target-cache-hit"]
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "TEST_BOOTSTRAP_JUST_MR"}
+ , "then": []
+ , "else": ["artifacts-sync"]
+ }
+ ]
+ }
}
}
diff --git a/test/end-to-end/target-cache/artifacts-sync.sh b/test/end-to-end/target-cache/artifacts-sync.sh
index 35374ede..32c794f5 100644
--- a/test/end-to-end/target-cache/artifacts-sync.sh
+++ b/test/end-to-end/target-cache/artifacts-sync.sh
@@ -39,6 +39,7 @@ readonly TCDIR="$FIRST_GEN/tc"
# Start local remote execution server
# ------------------------------------------------------------------------------
"${JUST}" execute --info-file "${INFOFILE}" --pid-file "${PIDFILE}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
--local-build-root "${REMOTE_CACHE}" ${ARGS} 2>&1 &
for _ in `seq 1 60`; do
@@ -87,6 +88,7 @@ sed -i "s|<RULES_PATH>|${RULES_DIR}|" repos.json
# Build greetlib remotely
"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LOCAL_CACHE}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
build ${ARGS} -r localhost:${PORT} --dump-graph graph.json main 2>&1
# Count actions without tc
@@ -105,6 +107,7 @@ rm -rf "${REMOTE_CACHE}"
# Build greetlib remotely
"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LOCAL_CACHE}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
build ${ARGS} -r localhost:${PORT} --dump-graph graph-tc.json main 2>&1
# Count actions with tc
@@ -122,6 +125,7 @@ rm -rf "${REMOTE_CACHE}"
# Build pydicts remotely
"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LOCAL_CACHE}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
build ${ARGS} -r localhost:${PORT} json_from_py 2>&1
# Clear remote cache
@@ -129,4 +133,5 @@ rm -rf "${REMOTE_CACHE}"
# Build pydicts remotely
"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LOCAL_CACHE}" \
+ -L '["env", "PATH='"${PATH}"'"]' \
build ${ARGS} -r localhost:${PORT} json_from_py 2>&1
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 6ff97418..d2e3381a 100644
--- a/test/end-to-end/target-cache/target-cache-hit.sh
+++ b/test/end-to-end/target-cache/target-cache-hit.sh
@@ -56,8 +56,8 @@ fi
# build project twice locally to trigger a target cache hit
export CONF="$("$JUST_MR" --norc -C repos.json --local-build-root="$LBRDIR" setup main)"
-"$JUST" build -C "$CONF" main --local-build-root="$LBRDIR" $ARGS 2>&1
-"$JUST" build -C "$CONF" main --local-build-root="$LBRDIR" $ARGS 2>&1
+"$JUST" build -L '["env", "PATH='"${PATH}"'"]' -C "$CONF" main --local-build-root="$LBRDIR" $ARGS 2>&1
+"$JUST" build -L '["env", "PATH='"${PATH}"'"]' -C "$CONF" main --local-build-root="$LBRDIR" $ARGS 2>&1
REMOTE_EXECUTION_ARGS=""
if [ "${REMOTE_EXECUTION_ADDRESS:-}" != "" ]; then
@@ -68,5 +68,5 @@ if [ "${REMOTE_EXECUTION_ADDRESS:-}" != "" ]; then
fi
# build project twice remotely to trigger a target cache hit
-"$JUST" build -C "$CONF" main --local-build-root="$LBRDIR" $ARGS $REMOTE_EXECUTION_ARGS 2>&1
-"$JUST" build -C "$CONF" main --local-build-root="$LBRDIR" $ARGS $REMOTE_EXECUTION_ARGS 2>&1
+"$JUST" build -L '["env", "PATH='"${PATH}"'"]' -C "$CONF" main --local-build-root="$LBRDIR" $ARGS $REMOTE_EXECUTION_ARGS 2>&1
+"$JUST" build -L '["env", "PATH='"${PATH}"'"]' -C "$CONF" main --local-build-root="$LBRDIR" $ARGS $REMOTE_EXECUTION_ARGS 2>&1
diff --git a/test/end-to-end/target-tests/glob.sh b/test/end-to-end/target-tests/glob.sh
index f655b3e3..131d533e 100755
--- a/test/end-to-end/target-tests/glob.sh
+++ b/test/end-to-end/target-tests/glob.sh
@@ -129,7 +129,7 @@ EOI
do_test() {
echo === Enumeration refres to targets ===
- ${TOOL} install -C ${CONF} --local-build-root ${BUILDROOT} -o ${OUTDIR}/enum enumeration 2>&1
+ ${TOOL} install -L '["env", "PATH='"${PATH}"'"]' -C ${CONF} --local-build-root ${BUILDROOT} -o ${OUTDIR}/enum enumeration 2>&1
cat ${OUTDIR}/enum/keys.txt
echo
@@ -141,7 +141,7 @@ do_test() {
echo === Glob always refres to files and directories are ignored ===
- ${TOOL} install -C ${CONF} --local-build-root ${BUILDROOT} -o ${OUTDIR}/glob glob 2>&1
+ ${TOOL} install -L '["env", "PATH='"${PATH}"'"]' -C ${CONF} --local-build-root ${BUILDROOT} -o ${OUTDIR}/glob glob 2>&1
cat ${OUTDIR}/glob/keys.txt
echo
@@ -153,7 +153,7 @@ do_test() {
echo === Globs and targets can be combined ===
- ${TOOL} install -C ${CONF} --local-build-root ${BUILDROOT} -o ${OUTDIR}/with_target with_target 2>&1
+ ${TOOL} install -L '["env", "PATH='"${PATH}"'"]' -C ${CONF} --local-build-root ${BUILDROOT} -o ${OUTDIR}/with_target with_target 2>&1
cat ${OUTDIR}/with_target/keys.txt
echo
@@ -165,7 +165,7 @@ do_test() {
echo === Globs only inspect the top-level directory of the module ===
- ${TOOL} install -C ${CONF} --local-build-root ${BUILDROOT} -o ${OUTDIR}/not_top_level not_top_level 2>&1
+ ${TOOL} install -L '["env", "PATH='"${PATH}"'"]' -C ${CONF} --local-build-root ${BUILDROOT} -o ${OUTDIR}/not_top_level not_top_level 2>&1
cat ${OUTDIR}/not_top_level/keys.txt
echo
diff --git a/test/end-to-end/target-tests/repo_names.sh b/test/end-to-end/target-tests/repo_names.sh
index aec5996a..65929674 100755
--- a/test/end-to-end/target-tests/repo_names.sh
+++ b/test/end-to-end/target-tests/repo_names.sh
@@ -88,7 +88,7 @@ EOF
mkdir -p .root
echo == Building in A ==
-./bin/tool-under-test install -C bindings.json -o . --local-build-root .root --main A . back 2>&1
+./bin/tool-under-test install -L '["env", "PATH='"${PATH}"'"]' -C bindings.json -o . --local-build-root .root --main A . back 2>&1
cat back.txt
grep -q 'I am A' back.txt
grep -q 'This is B' back.txt
@@ -96,7 +96,7 @@ grep -q 'Hello A' back.txt
rm -f back.txt
echo == Building in B ==
-./bin/tool-under-test install -C bindings.json -o . --local-build-root .root --main B . back 2>&1
+./bin/tool-under-test install -L '["env", "PATH='"${PATH}"'"]' -C bindings.json -o . --local-build-root .root --main B . back 2>&1
cat back.txt
grep -q 'I am B' back.txt
grep -q 'This is A' back.txt
diff --git a/test/end-to-end/target-tests/tree-inputs.sh b/test/end-to-end/target-tests/tree-inputs.sh
index edbe7f7e..7a0398b8 100755
--- a/test/end-to-end/target-tests/tree-inputs.sh
+++ b/test/end-to-end/target-tests/tree-inputs.sh
@@ -38,6 +38,7 @@ cat > src/TARGETS <<'EOF'
EOF
./bin/tool-under-test install -o out --workspace-root src \
+ -L '["env", "PATH='"${PATH}"'"]' \
--local-build-root .root . read_trees 2>&1
grep SUCCESS out/result
diff --git a/test/end-to-end/target-tests/upwards.sh b/test/end-to-end/target-tests/upwards.sh
index fb700588..d196a8e8 100755
--- a/test/end-to-end/target-tests/upwards.sh
+++ b/test/end-to-end/target-tests/upwards.sh
@@ -38,6 +38,7 @@ cat > src/TARGETS <<'EOF'
EOF
./bin/tool-under-test install -o out --workspace-root src \
+ -L '["env", "PATH='"${PATH}"'"]' \
--local-build-root .root . it 2>&1
grep OK out/out
@@ -61,6 +62,7 @@ EOF
./bin/tool-under-test install -o out2 --workspace-root src \
+ -L '["env", "PATH='"${PATH}"'"]' \
--local-build-root .root deep 'OK up' 2>&1
grep OK out2/out