AUTOTOOLS: использовать мой собственный набор тестов вместо стандартного - PullRequest
0 голосов
/ 07 марта 2020

Я сделал python комплект тестов для тестирования моего проекта. Я добавил в Makefile.am переменную:

TESTS = ./launcher.sh

модуль запуска. sh содержит: tests/testsuite.py

Когда я выполняю ./launcher.sh, мой тестовый набор выполняется правильно. Однако, когда я делаю make check, я получаю следующий вывод:

PASS: launcher.sh
============================================================================
Testsuite summary for spider 1.0
============================================================================
# TOTAL: 1
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

Как я могу скрыть вывод по умолчанию и использовать вывод моего testsuite?

1 Ответ

0 голосов
/ 08 марта 2020

Руководство Automake содержит целую главу по тестированию , которая будет полезна для понимания контекста поддержки набора тестов Automake. Более того, важно понимать, что часть сделки, которую вы заключаете, используя Automake для генерации make-файлов, заключается в том, чтобы принять некоторые ограничения в отношении формы и поведения получившейся системы сборки.

Как можно Я скрываю вывод по умолчанию и использую вывод моего testsuite?

Насколько я знаю, вы не можете скрыть вывод по умолчанию make check, но вы можете вызвать вывод вашей тестовой программы для вывода на стандартный вывод make вместо перенаправления в файл. Самый простой способ сделать это - включить серийный тестовый жгут , включив опцию Automake serial-tests. Обычно это выражается через аргумент макроса AM_INIT_AUTOMAKE в вашем configure.ac:

AM_INIT_AUTOMAKE([serial-tests])

Также обратите внимание, что нет необходимости заключать ваш tests/testsuite.py в сценарий оболочки. Просто убедитесь, что он исполняемый (что звучит так, как вы уже сделали), и назовите его напрямую, включая относительный путь, в значении переменной TESTS.

...