tests: Compile in advance

Cargo is always trying to compile things if they are not ready yet. It caused the first test to take a lot of time, and potentially time out.
This commit is contained in:
Dorota Czaplejewicz
2019-09-29 09:01:09 +00:00
parent 1e609f4550
commit a1b811aada

View File

@ -62,10 +62,26 @@ rslibs = custom_target(
command: [cargo_script, '@OUTPUT@', 'build'] command: [cargo_script, '@OUTPUT@', 'build']
) )
build_rstests = custom_target(
'build_rstests',
build_by_default: false,
# HACK: this target needs to build before all the tests,
# but it doesn't produce anything stable.
# Declaring build_by_default with some random but irrelevant output
# ensures that it's always built as it should
build_always_stale: true,
output: ['src'],
install: false,
console: true,
command: [cargo_script, '', 'build', '--tests'],
depends: rslibs, # no point building tests if the code itself fails
)
test( test(
'rstest', 'rstest',
cargo_script, cargo_script,
args: ['', 'test'] args: ['', 'test'],
depends: build_rstests,
) )
libsqueekboard = static_library('libsqueekboard', libsqueekboard = static_library('libsqueekboard',