From b20171a41a97dbfd75a98955694eb9df5314ef27 Mon Sep 17 00:00:00 2001 From: "Klaus T. Aehlig" Date: Mon, 5 Feb 2024 11:46:34 +0100 Subject: 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. --- test/end-to-end/target-cache/TARGETS | 13 ++++++++++++- test/end-to-end/target-cache/artifacts-sync.sh | 5 +++++ test/end-to-end/target-cache/target-cache-hit.sh | 8 ++++---- 3 files changed, 21 insertions(+), 5 deletions(-) (limited to 'test/end-to-end/target-cache') 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_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 -- cgit v1.2.3