meson: add support for running both fast and slow version of tests

playTests.sh has an option to run really slow tests. This is enabled by
default in Meson, but what we really want is to do like the Makefile,
and run the fast ones by default, but with an option to run the slow
ones instead.
This commit is contained in:
Eli Schwartz
2022-12-16 14:27:46 -05:00
parent 26134b4565
commit 9c3e18f7fe
+27 -8
View File
@@ -21,7 +21,6 @@ FUZZER_FLAGS = ['--no-big-tests']
FUZZERTEST = '-T200s' FUZZERTEST = '-T200s'
ZSTREAM_TESTTIME = '-T90s' ZSTREAM_TESTTIME = '-T90s'
DECODECORPUS_TESTTIME = '-T30' DECODECORPUS_TESTTIME = '-T30'
ZSTDRTTEST = ['--test-large-data']
# ============================================================================= # =============================================================================
# Executables # Executables
@@ -147,13 +146,25 @@ endif
if host_machine_os != os_windows if host_machine_os != os_windows
playTests_sh = find_program(join_paths(zstd_rootdir, 'tests/playTests.sh'), required: true) playTests_sh = find_program(join_paths(zstd_rootdir, 'tests/playTests.sh'), required: true)
test('test-zstd',
playTests_sh, # add slow tests only if the meson version is new enough to support
args: ZSTDRTTEST, # test setups with default-excluded suites
env: ['ZSTD_BIN=' + zstd.full_path(), 'DATAGEN_BIN=./datagen'], if meson.version().version_compare('>=0.57.0')
depends: [datagen], matrix = {'fast': [], 'slow': ['--test-large-data']}
workdir: meson.current_build_dir(), else
timeout: 2800) # Timeout should work on HDD drive matrix = {'fast': []}
endif
foreach suite, opt: matrix
test('test-zstd-'+suite,
playTests_sh,
args: opt,
env: ['ZSTD_BIN=' + zstd.full_path(), 'DATAGEN_BIN=./datagen'],
depends: [datagen],
suite: suite,
workdir: meson.current_build_dir(),
timeout: 2800) # Timeout should work on HDD drive
endforeach
endif endif
test('test-fullbench-1', test('test-fullbench-1',
@@ -192,3 +203,11 @@ test('test-decodecorpus',
args: ['-t', DECODECORPUS_TESTTIME], args: ['-t', DECODECORPUS_TESTTIME],
timeout: 60) timeout: 60)
test('test-poolTests', poolTests) # should be fast test('test-poolTests', poolTests) # should be fast
if meson.version().version_compare('>=0.57.0')
add_test_setup('fast',
is_default: true,
exclude_suites: ['slow'])
add_test_setup('slow',
exclude_suites: ['fast'])
endif