@@ -115,18 +115,22 @@ PRINT_CCACHE_STATISTICS="ccache --version | head -n 1 && ccache --show-stats"
115
115
116
116
# Folder where the build is done.
117
117
BASE_BUILD_DIR=${BASE_BUILD_DIR:- $BASE_SCRATCH_DIR / build-$HOST }
118
- mkdir -p " ${BASE_BUILD_DIR} "
119
- cd " ${BASE_BUILD_DIR} "
120
118
121
119
BITCOIN_CONFIG_ALL=" $BITCOIN_CONFIG_ALL -DCMAKE_INSTALL_PREFIX=$BASE_OUTDIR -Werror=dev"
122
120
123
121
if [[ " ${RUN_TIDY} " == " true" ]]; then
124
122
BITCOIN_CONFIG_ALL=" $BITCOIN_CONFIG_ALL -DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
125
123
fi
126
124
127
- bash -c " cmake -S $BASE_ROOT_DIR $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( (cat $( cmake -P " ${BASE_ROOT_DIR} /ci/test/GetCMakeLogFiles.cmake" ) ) && false)"
125
+ bash -c " cmake -S $BASE_ROOT_DIR -B ${BASE_BUILD_DIR} $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( (cat $( cmake -P " ${BASE_ROOT_DIR} /ci/test/GetCMakeLogFiles.cmake" ) ) && false)"
128
126
129
- bash -c " cmake --build . $MAKEJOBS --target all $GOAL " || ( echo " Build failure. Verbose build follows." && cmake --build . --target all " $GOAL " --verbose ; false )
127
+ # shellcheck disable=SC2086
128
+ cmake --build " ${BASE_BUILD_DIR} " " $MAKEJOBS " --target all $GOAL || (
129
+ echo " Build failure. Verbose build follows."
130
+ # shellcheck disable=SC2086
131
+ cmake --build " ${BASE_BUILD_DIR} " -j1 --target all $GOAL --verbose
132
+ false
133
+ )
130
134
131
135
bash -c " ${PRINT_CCACHE_STATISTICS} "
132
136
du -sh " ${DEPENDS_DIR} " /* /
@@ -137,11 +141,17 @@ if [ -n "$USE_VALGRIND" ]; then
137
141
fi
138
142
139
143
if [ " $RUN_CHECK_DEPS " = " true" ]; then
140
- " ${BASE_ROOT_DIR} /contrib/devtools/check-deps.sh" .
144
+ " ${BASE_ROOT_DIR} /contrib/devtools/check-deps.sh" " ${BASE_BUILD_DIR} "
141
145
fi
142
146
143
147
if [ " $RUN_UNIT_TESTS " = " true" ]; then
144
- DIR_UNIT_TEST_DATA=" ${DIR_UNIT_TEST_DATA} " LD_LIBRARY_PATH=" ${DEPENDS_DIR} /${HOST} /lib" CTEST_OUTPUT_ON_FAILURE=ON ctest --stop-on-failure " ${MAKEJOBS} " --timeout $(( TEST_RUNNER_TIMEOUT_FACTOR * 60 ))
148
+ DIR_UNIT_TEST_DATA=" ${DIR_UNIT_TEST_DATA} " \
149
+ LD_LIBRARY_PATH=" ${DEPENDS_DIR} /${HOST} /lib" \
150
+ CTEST_OUTPUT_ON_FAILURE=ON \
151
+ ctest --test-dir " ${BASE_BUILD_DIR} " \
152
+ --stop-on-failure \
153
+ " ${MAKEJOBS} " \
154
+ --timeout $(( TEST_RUNNER_TIMEOUT_FACTOR * 60 ))
145
155
fi
146
156
147
157
if [ " $RUN_UNIT_TESTS_SEQUENTIAL " = " true" ]; then
151
161
if [ " $RUN_FUNCTIONAL_TESTS " = " true" ]; then
152
162
# parses TEST_RUNNER_EXTRA as an array which allows for multiple arguments such as TEST_RUNNER_EXTRA='--exclude "rpc_bind.py --ipv6"'
153
163
eval " TEST_RUNNER_EXTRA=($TEST_RUNNER_EXTRA )"
154
- LD_LIBRARY_PATH=" ${DEPENDS_DIR} /${HOST} /lib" 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
164
+ LD_LIBRARY_PATH=" ${DEPENDS_DIR} /${HOST} /lib" \
165
+ " ${BASE_BUILD_DIR} /test/functional/test_runner.py" \
166
+ --ci " ${MAKEJOBS} " \
167
+ --tmpdirprefix " ${BASE_SCRATCH_DIR} /test_runner/" \
168
+ --ansi \
169
+ --combinedlogslen=99999999 \
170
+ --timeout-factor=" ${TEST_RUNNER_TIMEOUT_FACTOR} " \
171
+ " ${TEST_RUNNER_EXTRA[@]} " \
172
+ --quiet \
173
+ --failfast
155
174
fi
156
175
157
176
if [ " ${RUN_TIDY} " = " true" ]; then
185
204
186
205
if [ " $RUN_FUZZ_TESTS " = " true" ]; then
187
206
# shellcheck disable=SC2086
188
- LD_LIBRARY_PATH=" ${DEPENDS_DIR} /${HOST} /lib" test/fuzz/test_runner.py ${FUZZ_TESTS_CONFIG} " ${MAKEJOBS} " -l DEBUG " ${DIR_FUZZ_IN} " --empty_min_time=60
207
+ LD_LIBRARY_PATH=" ${DEPENDS_DIR} /${HOST} /lib" \
208
+ " ${BASE_BUILD_DIR} /test/fuzz/test_runner.py" \
209
+ ${FUZZ_TESTS_CONFIG} \
210
+ " ${MAKEJOBS} " \
211
+ -l DEBUG \
212
+ " ${DIR_FUZZ_IN} " \
213
+ --empty_min_time=60
189
214
fi
0 commit comments