94 lines
3.2 KiB
Meson
94 lines
3.2 KiB
Meson
# #############################################################################
|
|
# Copyright (c) 2018-present lzutao <taolzu(at)gmail.com>
|
|
# 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)
|