meson.build: add the valgrind test setup, exclude python tests

This way we can invoke the expected setup with
  meson test --setup=valgrind

And because we don't care about valgrinding python script, mark that test as
part of the "python-tests" suite and skip it during our CI valgrind run.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Ran Benita <ran@unusedvar.com>
master
Peter Hutterer 2020-07-23 09:04:10 +10:00 committed by Ran Benita
parent f0b1441f5e
commit c3d42390f7
2 changed files with 16 additions and 1 deletions

View File

@ -34,7 +34,7 @@ jobs:
meson compile -C build
- name: Test
run:
meson test -C build --print-errorlogs --wrapper="valgrind --leak-check=full --track-origins=yes --error-exitcode=99"
meson test -C build --print-errorlogs --setup=valgrind --no-suite python-tests
macos:
runs-on: macos-10.15

View File

@ -480,6 +480,7 @@ test(
'symbols-leak-test',
find_program('test/symbols-leak-test.py'),
env: test_env,
suite: ['python-tests'],
)
if get_option('enable-x11')
test(
@ -501,6 +502,20 @@ if get_option('enable-xkbregistry')
)
endif
valgrind = find_program('valgrind', required: false)
if valgrind.found()
add_test_setup('valgrind',
exe_wrapper: [valgrind,
'--leak-check=full',
'--track-origins=yes',
'--gen-suppressions=all',
'--error-exitcode=99'],
timeout_multiplier : 10)
else
message('valgrind not found, disabling valgrind test setup')
endif
# Fuzzing target programs.
executable('fuzz-keymap', 'fuzz/keymap/target.c', dependencies: test_dep)
executable('fuzz-compose', 'fuzz/compose/target.c', dependencies: test_dep)