# ############################################################################# # Copyright (c) 2018-present lzutao # All rights reserved. # # This source code is licensed under both the BSD-style license (found in the # LICENSE file in the root directory of this source tree) and the GPLv2 (found # in the COPYING file in the root directory of this source tree). # ############################################################################# lz4_root_dir = '../../..' programs_dir_inc = include_directories(join_paths(lz4_root_dir, 'programs')) lib_dir_inc = include_directories(join_paths(lz4_root_dir, 'lib')) # ============================================================================= # Test flags # ============================================================================= TEST_FILES = join_paths(meson.current_source_dir(), lz4_root_dir, 'tests/COPYING') FUZZER_TIME = '-T90s' NB_LOOPS = '-i1' # ============================================================================= # Executables # ============================================================================= fullbench_sources = [join_paths(lz4_root_dir, 'tests/fullbench.c')] fullbench = executable('fullbench', fullbench_sources, include_directories: programs_dir_inc, dependencies: liblz4_dep, install: false) fuzzer_sources = [join_paths(lz4_root_dir, 'tests/fuzzer.c')] fuzzer = executable('fuzzer', fuzzer_sources, c_args: ['-D_DEFAULT_SOURCE', '-D_BSD_SOURCE'], # since glibc 2.19 include_directories: programs_dir_inc, dependencies: liblz4_dep, install: false) frametest_sources = [join_paths(lz4_root_dir, 'tests/frametest.c')] frametest = executable('frametest', frametest_sources, include_directories: programs_dir_inc, dependencies: liblz4_dep, install: false) roundTripTest_sources = [join_paths(lz4_root_dir, 'tests/roundTripTest.c')] roundTripTest = executable('roundTripTest', roundTripTest_sources, dependencies: [ liblz4_dep ], install: false) datagen_sources = [join_paths(lz4_root_dir, 'tests/datagencli.c')] datagen = executable('datagen', datagen_sources, objects: lz4.extract_objects(join_paths(lz4_root_dir, 'programs/datagen.c')), include_directories: lz4_includes, dependencies: [ liblz4_dep ], install: false) checkFrame_sources = [join_paths(lz4_root_dir, 'tests/checkFrame.c')] checkFrame = executable('checkFrame', checkFrame_sources, include_directories: programs_dir_inc, dependencies: [ liblz4_dep ], install: false) checkTag_sources = [join_paths(lz4_root_dir, 'tests/checkTag.c')] checkTag = executable('checkTag', checkTag_sources, include_directories: lib_dir_inc, install: false) # ============================================================================= # Tests (Use "meson test --list" to list all tests) # ============================================================================= # XXX: (Need TEST) These timeouts (in seconds) when running on a HDD should be # at least six times bigger than on a SSD test('test-fullbench', fullbench, args: ['--no-prompt', NB_LOOPS, TEST_FILES], timeout: 420) # Should enough when running on HDD test('test-fuzzer', fuzzer, args: [FUZZER_TIME], timeout: 100) test('test-frametest', frametest, args: [FUZZER_TIME], timeout: 100)