Ответ на вопрос автозапчастей.
Если у вас есть
TESTS = foo.test bar.test baz.test
, сгенерированный Makefile
будет иметь цель test
примерно как
test:
...
$(TEST_ENVIRONMENT) $(srcdir)/foo.test
$(TEST_ENVIRONMENT) $(srcdir)/bar.test
$(TEST_ENVIRONMENT) $(srcdir)/baz.test
...
Youможет на самом деле установить TEST_ENVIRONMENT
для команды, которая будет запускать ваши сценарии оболочки с sh -xe
или sh -e
.
Если все тесты являются сценариями оболочки, это может быть просто, как установка
TEST_ENVIRONMENT = $(SHELL) -e $${V+-x}
если не все тесты являются сценариями оболочки, вы можете иметь
TEST_ENVIRONMENT = $(srcdir)/run
и написать сценарий run
, например:
#!/bin/sh
case $1 in
*.py)
exec python "$@";;
*.test)
exec sh -x ${V+-x} "$@";;
*)
echo "Unknown extension" >&2
exit 2;;
esac