diff options
author | MarcoFalke <falke.marco@gmail.com> | 2019-12-17 14:16:48 -0500 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2020-01-03 07:04:45 -0500 |
commit | faba4672b64fb5ba89e5cb6299479887494b571a (patch) | |
tree | d4070d7b946f7684548dc4b0452700cec5df5d05 | |
parent | fa5d709fb266c97d4db15006bf855e887a6c123b (diff) | |
download | bitcoin-faba4672b64fb5ba89e5cb6299479887494b571a.tar.xz |
ci: Fix QEMU_USER_CMD parse issues
* Fix bash syntax by adding missing -
* Disable QEMU_USER_CMD fallback when it is set
Apparently bash can't distinguish an unset variable from a variable
that is set to the empty string
* Export the environment variable to the docker env, otherwise it
couldn't be used there
-rw-r--r-- | ci/test/00_setup_env_arm.sh | 2 | ||||
-rw-r--r-- | ci/test/00_setup_env_s390x.sh | 2 | ||||
-rwxr-xr-x | ci/test/04_install.sh | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/ci/test/00_setup_env_arm.sh b/ci/test/00_setup_env_arm.sh index 6e2542584c..4047f8ed8d 100644 --- a/ci/test/00_setup_env_arm.sh +++ b/ci/test/00_setup_env_arm.sh @@ -9,7 +9,7 @@ export LC_ALL=C.UTF-8 export HOST=arm-linux-gnueabihf # The host arch is unknown, so we run the tests through qemu. # If the host is arm and wants to run the tests natively, it can set QEMU_USER_CMD to the empty string. -export QEMU_USER_CMD="${QEMU_USER_CMD:"qemu-arm -L /usr/arm-linux-gnueabihf/"}" +if [ -z ${QEMU_USER_CMD+x} ]; then export QEMU_USER_CMD="${QEMU_USER_CMD:-"qemu-arm -L /usr/arm-linux-gnueabihf/"}"; fi # We don't know whether the host can run the cross compiled binaries. To run them, either qemu-user or libc6:armhf for # the target is required, so install both. export DPKG_ADD_ARCH="armhf" diff --git a/ci/test/00_setup_env_s390x.sh b/ci/test/00_setup_env_s390x.sh index 637d549553..a4f4841848 100644 --- a/ci/test/00_setup_env_s390x.sh +++ b/ci/test/00_setup_env_s390x.sh @@ -9,7 +9,7 @@ export LC_ALL=C.UTF-8 export HOST=s390x-linux-gnu # The host arch is unknown, so we run the tests through qemu. # If the host is s390x and wants to run the tests natively, it can set QEMU_USER_CMD to the empty string. -export QEMU_USER_CMD="${QEMU_USER_CMD:"qemu-s390x"}" +if [ -z ${QEMU_USER_CMD+x} ]; then export QEMU_USER_CMD="${QEMU_USER_CMD:-"qemu-s390x"}"; fi export PACKAGES="python3-zmq bsdmainutils qemu-user" export RUN_UNIT_TESTS=true export RUN_FUNCTIONAL_TESTS=true diff --git a/ci/test/04_install.sh b/ci/test/04_install.sh index 62f30535cb..cf2b39c68d 100755 --- a/ci/test/04_install.sh +++ b/ci/test/04_install.sh @@ -41,7 +41,7 @@ export ASAN_OPTIONS="detect_stack_use_after_return=1:check_initialization_order= export LSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/lsan" export TSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/tsan:log_path=${BASE_SCRATCH_DIR}/sanitizer-output/tsan" export UBSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1" -env | grep -E '^(BITCOIN_CONFIG|BASE_|CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL|(ASAN|LSAN|TSAN|UBSAN)_OPTIONS)' | tee /tmp/env +env | grep -E '^(BITCOIN_CONFIG|BASE_|QEMU_|CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL|(ASAN|LSAN|TSAN|UBSAN)_OPTIONS)' | tee /tmp/env if [[ $HOST = *-mingw32 ]]; then DOCKER_ADMIN="--cap-add SYS_ADMIN" elif [[ $BITCOIN_CONFIG = *--with-sanitizers=*address* ]]; then # If ran with (ASan + LSan), Docker needs access to ptrace (https://github.com/google/sanitizers/issues/764) |