ci: Run tests on arm

pull/17041/head
MarcoFalke 5 years ago
parent e173d587e1
commit fa79dff624
No known key found for this signature in database
GPG Key ID: CE2B75697E69A548

@ -89,12 +89,12 @@ jobs:
- set -o errexit; source ./ci/extended_lint/06_script.sh
- stage: test
name: 'ARM [GOAL: install] [no unit or functional tests]'
name: 'ARM [GOAL: install] [unit tests, no functional tests]'
env: >-
FILE_ENV="./ci/test/00_setup_env_arm.sh"
- stage: test
name: 'Win64 [GOAL: deploy] [no gui or functional tests]'
name: 'Win64 [GOAL: deploy] [unit tests, no gui, no functional tests]'
env: >-
FILE_ENV="./ci/test/00_setup_env_win64.sh"

@ -7,9 +7,10 @@
export LC_ALL=C.UTF-8
export HOST=arm-linux-gnueabihf
export PACKAGES="python3 g++-arm-linux-gnueabihf busybox"
export QEMU_USER_CMD="qemu-arm -L /usr/arm-linux-gnueabihf/"
export PACKAGES="python3 g++-arm-linux-gnueabihf busybox qemu-user"
export USE_BUSY_BOX=true
export RUN_UNIT_TESTS=false
export RUN_UNIT_TESTS=true
export RUN_FUNCTIONAL_TESTS=false
export GOAL="install"
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"

@ -8,8 +8,28 @@ export LC_ALL=C.UTF-8
cd "build/bitcoin-$HOST" || (echo "could not enter distdir build/bitcoin-$HOST"; exit 1)
if [ -n "$QEMU_USER_CMD" ]; then
BEGIN_FOLD wrap-qemu
echo "Prepare to run functional tests for HOST=$HOST"
# Generate all binaries, so that they can be wrapped
DOCKER_EXEC make $MAKEJOBS -C src/secp256k1 VERBOSE=1
DOCKER_EXEC make $MAKEJOBS -C src/univalue VERBOSE=1
for b_name in {"${BASE_OUTDIR}/bin"/*,src/secp256k1/*tests,src/univalue/{no_nul,test_json,unitester,object}}; do
# shellcheck disable=SC2044
for b in $(find "${BASE_ROOT_DIR}" -executable -type f -name $(basename $b_name)); do
echo "Wrap $b ..."
DOCKER_EXEC mv "$b" "${b}_orig"
DOCKER_EXEC echo "\#\!/usr/bin/env bash" \> "$b"
DOCKER_EXEC echo "$QEMU_USER_CMD \\\"${b}_orig\\\" \\\"\\\$@\\\"" \>\> "$b"
DOCKER_EXEC chmod +x "$b"
done
done
END_FOLD
fi
if [ "$RUN_UNIT_TESTS" = "true" ]; then
BEGIN_FOLD unit-tests
bash -c "while sleep 500; do echo .; done" & # Print dots in case the unit tests take a long time to run
DOCKER_EXEC LD_LIBRARY_PATH=$BASE_BUILD_DIR/depends/$HOST/lib make $MAKEJOBS check VERBOSE=1
END_FOLD
fi

Loading…
Cancel
Save