CI: use address sanitizer without leak checks

Use address sanitizer to catch use-after-free and other errors when
running the test suite.

Leak detection is disabled, because currently there are too many leaks,
making almost all tests fail otherwise.

The atexit=1 is for verifying that ASan was actually used.

The default 128 MB of RAM in the qemu machine leads to oom-killer
killing most tests, so bump the memory size to 1 GB.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
dev
Pekka Paalanen 3 years ago
parent a49ca3d205
commit 5de3b047b7
  1. 4
      .gitlab-ci.yml
  2. 2
      .gitlab-ci/virtme-scripts/run-weston-tests.sh

@ -63,10 +63,10 @@ container_prep:
script: script:
- export PATH=~/.local/bin:$PATH - export PATH=~/.local/bin:$PATH
- cd "$BUILDDIR" - cd "$BUILDDIR"
- meson --prefix="$PREFIX" ${MESON_OPTIONS} .. - meson --prefix="$PREFIX" -Db_sanitize=address ${MESON_OPTIONS} ..
- ninja -k0 - ninja -k0
- ninja install - ninja install
- virtme-run --rw --pwd --kimg /weston-virtme/bzImage --script-dir ../.gitlab-ci/virtme-scripts - virtme-run --rw --pwd --kimg /weston-virtme/bzImage --script-dir ../.gitlab-ci/virtme-scripts --qemu-opts -m 1024
- TEST_RES=$(cat $TESTS_RES_PATH) - TEST_RES=$(cat $TESTS_RES_PATH)
- rm $TESTS_RES_PATH - rm $TESTS_RES_PATH
- cp -R /weston-virtme ./ - cp -R /weston-virtme ./

@ -21,7 +21,7 @@ export HOME=/root
while ! [ -e /run/seatd.sock ]; do sleep 0.1; done while ! [ -e /run/seatd.sock ]; do sleep 0.1; done
# run the tests and save the exit status # run the tests and save the exit status
ninja test ASAN_OPTIONS=detect_leaks=0,atexit=1 ninja test
TEST_RES=$? TEST_RES=$?
# create a file to keep the result of this script: # create a file to keep the result of this script:

Loading…
Cancel
Save