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:
@ -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',
|
||||||
|
|||||||
Reference in New Issue
Block a user