Do not fail "ninja test" when running as subproject

This commit is contained in:
Ahmed Masud 2018-10-19 17:17:48 -04:00 committed by Nikolaus Rath
parent e469e1f8d1
commit 078ef6641c
2 changed files with 16 additions and 3 deletions

View File

@ -19,6 +19,12 @@ td += custom_target('test_scripts', input: test_scripts,
'@INPUT@', meson.current_build_dir() ])
# Provide something helpful when running 'ninja test'
wrong_cmd = executable('wrong_command', 'wrong_command.c',
install: false)
test('wrong_cmd', wrong_cmd)
if meson.is_subproject()
test('libfuse is a subproject, skipping tests', executable('wrong_command',
'wrong_command.c', install: false,
c_args: [ '-DMESON_IS_SUBPROJECT' ]))
else
test('wrong_command', executable('wrong_command', 'wrong_command.c',
install: false))
endif

View File

@ -1,9 +1,16 @@
#include <stdio.h>
int main(void) {
#ifdef MESON_IS_SUBPROJECT
fprintf(stderr, "libfuse tests were skipped because it's a meson subproject.\n"
"If you wish to run them try:\n"
"'cd <srcdir>/subprojects/libfuse && meson . build && cd build && python3 -m pytest test/' instead");
return 77; /* report as a skipped test */
#else
fprintf(stderr, "\x1B[31m\e[1m"
"This is not the command you are looking for.\n"
"You probably want to run 'python3 -m pytest test/' instead"
"\e[0m\n");
return 1;
#endif
}