summaryrefslogtreecommitdiff
path: root/test/end-to-end/target-cache
diff options
context:
space:
mode:
authorKlaus T. Aehlig <aehlig@linta.de>2024-02-05 11:46:34 +0100
committerKlaus T. Aehlig <aehlig@linta.de>2024-02-05 16:24:18 +0100
commitb20171a41a97dbfd75a98955694eb9df5314ef27 (patch)
tree1be0e4d5ecaf0bec2e5b198da3d9ff1c3aea0d0d /test/end-to-end/target-cache
parentd71277e0a0b6ad60b6ecce4382b7f7f3e35c3282 (diff)
downloadjustbuild-b20171a41a97dbfd75a98955694eb9df5314ef27.tar.gz
end-to-end tests: inherit path
... for test actions, by setting an appropriate local launcher. In this way, the tests can also be run on systems where sh does not pull in enough paths to have all the "usual" tools available.
Diffstat (limited to 'test/end-to-end/target-cache')
-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
3 files changed, 21 insertions, 5 deletions
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