mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
CI: add address sanitizer to Debian runtime tests
This commit is contained in:
parent
918e64bb0b
commit
af3054394e
3 changed files with 35 additions and 6 deletions
34
.github/workflows/build.yml
vendored
34
.github/workflows/build.yml
vendored
|
|
@ -186,9 +186,9 @@ jobs:
|
|||
echo '
|
||||
cd "$GITHUB_WORKSPACE"
|
||||
export CC=gcc
|
||||
meson setup build-gcc-ci -Dxwayland=enabled -Db_sanitize=undefined --werror
|
||||
meson compile -C build-gcc-ci
|
||||
scripts/ci/smoke-test.sh build-gcc-ci
|
||||
meson setup build-gcc-gdb -Dxwayland=enabled -Db_sanitize=undefined --werror
|
||||
meson compile -C build-gcc-gdb
|
||||
scripts/ci/smoke-test.sh build-gcc-gdb
|
||||
' | $TARGET
|
||||
|
||||
- name: Build with clang - runtime test
|
||||
|
|
@ -197,9 +197,31 @@ jobs:
|
|||
echo '
|
||||
cd "$GITHUB_WORKSPACE"
|
||||
export CC=clang
|
||||
meson setup build-clang-ci -Dxwayland=enabled -Db_sanitize=undefined --werror
|
||||
meson compile -C build-clang-ci
|
||||
scripts/ci/smoke-test.sh build-clang-ci
|
||||
meson setup build-clang-gdb -Dxwayland=enabled -Db_sanitize=undefined --werror
|
||||
meson compile -C build-clang-gdb
|
||||
scripts/ci/smoke-test.sh build-clang-gdb
|
||||
' | $TARGET
|
||||
|
||||
- name: Build with gcc - runtime leak test
|
||||
if: matrix.name == 'Debian'
|
||||
run: |
|
||||
echo '
|
||||
cd "$GITHUB_WORKSPACE"
|
||||
export CC=gcc
|
||||
meson setup build-gcc-leak -Dxwayland=enabled -Db_sanitize=address,undefined --werror
|
||||
meson compile -C build-gcc-leak
|
||||
LABWC_LEAK_TEST=1 scripts/ci/smoke-test.sh build-gcc-leak
|
||||
' | $TARGET
|
||||
|
||||
- name: Build with clang - runtime leak test
|
||||
if: matrix.name == 'Debian'
|
||||
run: |
|
||||
echo '
|
||||
cd "$GITHUB_WORKSPACE"
|
||||
export CC=clang
|
||||
meson setup build-clang-leak -Dxwayland=enabled -Db_sanitize=address,undefined --werror
|
||||
meson compile -C build-clang-leak
|
||||
LABWC_LEAK_TEST=1 scripts/ci/smoke-test.sh build-clang-leak
|
||||
' | $TARGET
|
||||
|
||||
# Void-musl doesn't support sanitizer
|
||||
|
|
|
|||
1
scripts/asan_leak_suppressions
Normal file
1
scripts/asan_leak_suppressions
Normal file
|
|
@ -0,0 +1 @@
|
|||
leak:libfontconfig.so
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
: ${LABWC_RUNS:=1}
|
||||
: ${LABWC_LEAK_TEST:=0}
|
||||
|
||||
if ! test -x "$1/labwc"; then
|
||||
echo "$1/labwc not found"
|
||||
|
|
@ -44,6 +45,11 @@ gdb_run() {
|
|||
|
||||
echo "Running with LABWC_RUNS=$LABWC_RUNS"
|
||||
|
||||
if test "$LABWC_LEAK_TEST" != "0"; then
|
||||
LSAN_OPTIONS=suppressions=scripts/asan_leak_suppressions "${args[@]}"
|
||||
exit $?
|
||||
fi
|
||||
|
||||
ret=0
|
||||
for((i=1; i<=LABWC_RUNS; i++)); do
|
||||
printf "Starting run %2s\n" $i
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue