diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2025-04-23 09:33:56 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2025-04-23 09:33:56 +0200 |
commit | a045db67a4b9e388e66dc80f33e8548465546fc4 (patch) | |
tree | 9f1dd8eb9f68c2b64469286fe1031ac1005319d1 | |
parent | a212d87be891c5146021b6442063ed39a4a1cd4a (diff) | |
download | justbuild-a045db67a4b9e388e66dc80f33e8548465546fc4.tar.gz |
Make end-to-end tests independent of the user's configuration
End-to-end tests should, like all tests, be independent of any
non-project files the user has in their home directory. This also
applies when running the tests locally. In particular, end-to-end
tests should not read the user's ~/.just-mrrc. Therefore, properly
set --norc in all end-to-end tests (where this is not already
the case).
-rw-r--r-- | test/end-to-end/built-in-rules/generic_conflict.sh | 4 | ||||
-rw-r--r-- | test/end-to-end/just-mr/gc-drop.sh | 36 | ||||
-rw-r--r-- | test/end-to-end/just-mr/gc-repo.sh | 6 | ||||
-rwxr-xr-x | test/end-to-end/just-mr/repeated-gc.sh | 20 |
4 files changed, 33 insertions, 33 deletions
diff --git a/test/end-to-end/built-in-rules/generic_conflict.sh b/test/end-to-end/built-in-rules/generic_conflict.sh index fbb8470c..6d9f8ca0 100644 --- a/test/end-to-end/built-in-rules/generic_conflict.sh +++ b/test/end-to-end/built-in-rules/generic_conflict.sh @@ -59,13 +59,13 @@ EOF echo echo local file should analyse fine echo -"${JUST_MR}" --just "${JUST}" --local-build-root "${LBRDIR}" \ +"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBRDIR}" \ analyse data 2>&1 echo echo The default target should detect a staging conflict echo -"${JUST_MR}" --just "${JUST}" --local-build-root "${LBRDIR}" \ +"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBRDIR}" \ analyse -f log --dump-actions - 2>&1 && exit 1 || : echo diff --git a/test/end-to-end/just-mr/gc-drop.sh b/test/end-to-end/just-mr/gc-drop.sh index 5bd46996..ce609a48 100644 --- a/test/end-to-end/just-mr/gc-drop.sh +++ b/test/end-to-end/just-mr/gc-drop.sh @@ -106,13 +106,13 @@ EOF cat repos.json # archive a -"${JUST_MR}" --just "${JUST}" --local-build-root "${LBR}" --main a \ +"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" --main a \ -L '["env", "PATH='"${PATH}"'"]' install -o "${OUT}" 2>&1 # ... sanity check grep VALUES "${OUT}/out.txt" # archive b -"${JUST_MR}" --just "${JUST}" --local-build-root "${LBR}" --main b \ +"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" --main b \ -L '["env", "PATH='"${PATH}"'"]' install -o "${OUT}" 2>&1 # ... sanity check grep 42 "${OUT}/out.txt" @@ -120,11 +120,11 @@ grep 42 "${OUT}/out.txt" # Rotate, and use a again # ======================= -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 -"${JUST_MR}" --just "${JUST}" --local-build-root "${LBR}" --main a \ +"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" --main a \ -L '["env", "PATH='"${PATH}"'"]' install -o "${OUT}" 2>&1 grep VALUES "${OUT}/out.txt" @@ -137,15 +137,15 @@ grep VALUES "${OUT}/out.txt" # clean up b, which should result in reduced disk usage. # get rid of CAS/cahe -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 # measure disk usage PRE_DROP_DISK=$(du -sb "${LBR}" | cut -f 1) echo "Pre drop, disk usage is ${PRE_DROP_DISK}" # drop -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc-repo --drop-only 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc-repo --drop-only 2>&1 # measure disk usage @@ -157,21 +157,21 @@ echo "Post drop, disk usage is ${POST_DROP_DISK}" # Verify that a is still in the youngest generation: even after one more # rotation, we should be able to build a. -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 -"${JUST_MR}" --just "${JUST}" --local-build-root "${LBR}" --main a \ +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 +"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" --main a \ -L '["env", "PATH='"${PATH}"'"]' install -o "${OUT}" 2>&1 grep VALUES "${OUT}/out.txt" # Finally demonstrate that the root was not taken from anything but the cache # =========================================================================== -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 -"${JUST_MR}" --just "${JUST}" --local-build-root "${LBR}" --main a \ +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 +"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" --main a \ -L '["env", "PATH='"${PATH}"'"]' build 2>&1 && exit 1 || : echo OK diff --git a/test/end-to-end/just-mr/gc-repo.sh b/test/end-to-end/just-mr/gc-repo.sh index 1023eeb5..b6bccf85 100644 --- a/test/end-to-end/just-mr/gc-repo.sh +++ b/test/end-to-end/just-mr/gc-repo.sh @@ -160,7 +160,7 @@ cat repos.json # Set up repos. This should get everything in the local build root. -"${JUST_MR}" --local-build-root "${LBR}" --git "${BIN}/mock-git" \ +"${JUST_MR}" --norc --local-build-root "${LBR}" --git "${BIN}/mock-git" \ --distdir "${DISTDIR}" -L '["env", "PATH='"${PATH}"'"]' \ setup > "${OUT}/conf-file-name" 2> "${LOG}/log-1" cat "${LOG}/log-1" @@ -199,7 +199,7 @@ rm -f "${BIN}/mock-foreign-vcs" "${JUST}" gc --local-build-root "${LBR}" 2>&1 # Rotate repo cache -"${JUST_MR}" --local-build-root "${LBR}" gc-repo 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" gc-repo 2>&1 ## Verify the mirrored locations are gone [ -e "${GIT_LOCATION}" ] && exit 1 || : @@ -208,7 +208,7 @@ rm -f "${BIN}/mock-foreign-vcs" [ -e "${GIT_TREE_LOCATION}" ] && exit 1 || : # Setup repos again -"${JUST_MR}" --local-build-root "${LBR}" -L '["env", "PATH='"${PATH}"'"]' \ +"${JUST_MR}" --norc --local-build-root "${LBR}" -L '["env", "PATH='"${PATH}"'"]' \ setup > "${OUT}/conf-file-name" 2> "${LOG}/log-2" cat "${LOG}/log-2" echo diff --git a/test/end-to-end/just-mr/repeated-gc.sh b/test/end-to-end/just-mr/repeated-gc.sh index 3b7bf62e..f4fa3ce6 100755 --- a/test/end-to-end/just-mr/repeated-gc.sh +++ b/test/end-to-end/just-mr/repeated-gc.sh @@ -84,18 +84,18 @@ grep VALUES "${OUT}/out.txt" # Before rotation the git root should still exist [ -e "${GIT_ROOT}" ] -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 # After gc rotation, the original git root should no longer exist [ -e "${GIT_ROOT}" ] && exit 1 || : -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 # Building should nevertheless succeed, due to the old repo generation # ===================================================================== -"${JUST_MR}" --just "${JUST}" --local-build-root "${LBR}" \ +"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" \ -L '["env", "PATH='"${PATH}"'"]' install -o "${OUT}" 2>&1 # sanity check grep VALUES "${OUT}/out.txt" @@ -113,12 +113,12 @@ GIT_ROOT=$(jq -r '.repositories.""."workspace_root" | .[2]' "${CONF}") echo "Git root is ${GIT_ROOT}" [ -e "${GIT_ROOT}" ] -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 [ -e "${GIT_ROOT}" ] && exit 1 || : -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 -"${JUST_MR}" --just "${JUST}" --local-build-root "${LBR}" \ +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc 2>&1 +"${JUST_MR}" --norc --just "${JUST}" --local-build-root "${LBR}" \ -L '["env", "PATH='"${PATH}"'"]' install -o "${OUT}" 2>&1 grep VALUES "${OUT}/out.txt" rm -f "${OUT}/out.txt" @@ -128,8 +128,8 @@ done # Finally demonstrate that the root was not taken from anything but the cache # =========================================================================== -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 -"${JUST_MR}" --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 +"${JUST_MR}" --norc --local-build-root "${LBR}" --just "${JUST}" gc-repo 2>&1 # after full rotation of the repository, the root should be lost "${JUST_MR}" --norc --local-build-root "${LBR}" -f "${OUT}/log" \ |