Browse Source

CI: use distcheck exclusively for building/testing

make_check_wrapper.sh + `make dist` does not replace make distcheck.

`make distcheck` is used as single source of truth. To still get stack
traces, move `make check` outside of the script and retrieve the exit
code of `make distcheck`.

This should catch issues like #27470 upfront.
pull/141/head
Johannes Kauffmann 3 years ago
committed by Steve Lhomme
parent
commit
56c970a5ba
  1. 19
      extras/ci/gitlab-ci.yml
  2. 12
      test/dump_stacktraces.sh

19
extras/ci/gitlab-ci.yml

@ -284,21 +284,16 @@ debian:
fi
cd ../../
# Build VLC
# Configure VLC
./bootstrap
./configure
make -j$NCPU
# Run tests
VLC_TEST_TIMEOUT=60 sh -x ./test/make_check_wrapper.sh -j4
if [ "${CI_JOB_NAME:0:8}" = "nightly-" ]; then
export XZ_OPT="-T 0"
make -j$NCPU distcheck
else
# Don't run distcheck but dist as it is already tested via
# make_check_wrapper.sh
make -j$NCPU dist
fi
# Allow core dumps for tracing test failures
ulimit -c unlimited
# Build, check and distcheck VLC
export XZ_OPT="-T 0"
VLC_TEST_TIMEOUT=60 make -j$NCPU distcheck || ./test/dump_stacktraces.sh
variables: *variables-debian
nightly-debian:

12
test/make_check_wrapper.sh → test/dump_stacktraces.sh

@ -2,12 +2,14 @@
# Helper used to print more information (log + core dump) about a failing test
ulimit -c unlimited
make check $*
ret=$?
if [ $# -gt 0 ];then
# exit code passed in from stdin
ret=$1
else
ret=1
fi
if [ $ret -eq 0 ] || ! (which gdb >/dev/null);then
if [ $ret -eq 0 ] || ! (command -v gdb >/dev/null);then
exit $ret
fi
Loading…
Cancel
Save