aboutsummaryrefslogtreecommitdiff
path: root/ci/test/06_script_b.sh
blob: 369da6c76482fb0ffd2982ed282ec29735131e78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/usr/bin/env bash
#
# Copyright (c) 2018-2022 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

export LC_ALL=C.UTF-8

set -ex

if [[ $HOST = *-mingw32 ]]; then
  # Generate all binaries, so that they can be wrapped
  make "$MAKEJOBS" -C src/secp256k1 VERBOSE=1
  make "$MAKEJOBS" -C src minisketch/test.exe VERBOSE=1
  "${BASE_ROOT_DIR}/ci/test/wrap-wine.sh"
fi

if [ -n "$QEMU_USER_CMD" ]; then
  # Generate all binaries, so that they can be wrapped
  make "$MAKEJOBS" -C src/secp256k1 VERBOSE=1
  make "$MAKEJOBS" -C src minisketch/test VERBOSE=1
  "${BASE_ROOT_DIR}/ci/test/wrap-qemu.sh"
fi

if [ -n "$USE_VALGRIND" ]; then
  "${BASE_ROOT_DIR}/ci/test/wrap-valgrind.sh"
fi

if [ "$RUN_UNIT_TESTS" = "true" ]; then
  bash -c "${TEST_RUNNER_ENV} DIR_UNIT_TEST_DATA=${DIR_UNIT_TEST_DATA} LD_LIBRARY_PATH=${DEPENDS_DIR}/${HOST}/lib make $MAKEJOBS check VERBOSE=1"
fi

if [ "$RUN_UNIT_TESTS_SEQUENTIAL" = "true" ]; then
  bash -c "${TEST_RUNNER_ENV} DIR_UNIT_TEST_DATA=${DIR_UNIT_TEST_DATA} LD_LIBRARY_PATH=${DEPENDS_DIR}/${HOST}/lib ${BASE_OUTDIR}/bin/test_bitcoin --catch_system_errors=no -l test_suite"
fi

if [ "$RUN_FUNCTIONAL_TESTS" = "true" ]; then
  bash -c "LD_LIBRARY_PATH=${DEPENDS_DIR}/${HOST}/lib ${TEST_RUNNER_ENV} test/functional/test_runner.py --ci $MAKEJOBS --tmpdirprefix ${BASE_SCRATCH_DIR}/test_runner/ --ansi --combinedlogslen=99999999 --timeout-factor=${TEST_RUNNER_TIMEOUT_FACTOR} ${TEST_RUNNER_EXTRA} --quiet --failfast"
fi

if [ "${RUN_TIDY}" = "true" ]; then
  set -eo pipefail
  cd "${BASE_BUILD_DIR}/bitcoin-$HOST/src/"
  ( run-clang-tidy-16 -quiet "${MAKEJOBS}" ) | grep -C5 "error"
  cd "${BASE_BUILD_DIR}/bitcoin-$HOST/"
  python3 "${DIR_IWYU}/include-what-you-use/iwyu_tool.py" \
           src/common/args.cpp \
           src/common/config.cpp \
           src/common/init.cpp \
           src/common/url.cpp \
           src/compat \
           src/dbwrapper.cpp \
           src/init \
           src/kernel \
           src/node/blockmanager_args.cpp \
           src/node/chainstate.cpp \
           src/node/chainstatemanager_args.cpp \
           src/node/mempool_args.cpp \
           src/node/minisketchwrapper.cpp \
           src/node/utxo_snapshot.cpp \
           src/node/validation_cache_args.cpp \
           src/policy/feerate.cpp \
           src/policy/packages.cpp \
           src/policy/settings.cpp \
           src/primitives/transaction.cpp \
           src/random.cpp \
           src/rpc/fees.cpp \
           src/rpc/signmessage.cpp \
           src/test/fuzz/string.cpp \
           src/test/fuzz/txorphan.cpp \
           src/test/fuzz/util \
           src/test/util/coins.cpp \
           src/uint256.cpp \
           src/util/bip32.cpp \
           src/util/bytevectorhash.cpp \
           src/util/check.cpp \
           src/util/error.cpp \
           src/util/exception.cpp \
           src/util/getuniquepath.cpp \
           src/util/hasher.cpp \
           src/util/message.cpp \
           src/util/moneystr.cpp \
           src/util/serfloat.cpp \
           src/util/spanparsing.cpp \
           src/util/strencodings.cpp \
           src/util/string.cpp \
           src/util/syserror.cpp \
           src/util/threadinterrupt.cpp \
           src/zmq \
           -p . "${MAKEJOBS}" \
           -- -Xiwyu --cxx17ns -Xiwyu --mapping_file="${BASE_BUILD_DIR}/bitcoin-$HOST/contrib/devtools/iwyu/bitcoin.core.imp" \
           2>&1 | tee /tmp/iwyu_ci.out
  cd "${BASE_ROOT_DIR}/src"
  python3 "${DIR_IWYU}/include-what-you-use/fix_includes.py" --nosafe_headers < /tmp/iwyu_ci.out
  git --no-pager diff
fi

if [ "$RUN_SECURITY_TESTS" = "true" ]; then
  make test-security-check
fi

if [ "$RUN_FUZZ_TESTS" = "true" ]; then
  bash -c "LD_LIBRARY_PATH=${DEPENDS_DIR}/${HOST}/lib test/fuzz/test_runner.py ${FUZZ_TESTS_CONFIG} $MAKEJOBS -l DEBUG ${DIR_FUZZ_IN}"
fi