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>
This commit is contained in:
+2
-2
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user