В любом случае, чтобы добавить уведомление в чеке Automake?

Я уточняю Makefile.am подать сейчас. Скрипт пропускает некоторые несущественные тесты, если среда не соответствует требованию. Я хочу уведомить пользователя, что некоторые тесты пропущены.

Я попытался добавить немного .PHONY цель для TESTS массив. Такие как:

if HAVE_PYTHON
# something to do with python
else #HAVE_PYTHON
TESTS += skip-python-test
.PHONY: skip-python-test
skip-python-test:
    @echo "Python is not detected"
    @echo "Will skip some test"
endif #HAVE_PYTHON

Тем не менее test-driver проверяет существование этих целей независимо .PHONY установка. test-suite.log будет так:

FAIL: skip-python-test
======================

./test-driver: line 95: ./skip-python-test: No such file or directory

Как уточнить мой Makefile.am? Или каков наилучший способ сделать это?

1 ответ

Решение

Вы можете добавить check-local Цель условно - см. Расширение Automake для деталей. По сути, вы можете сделать его условным, чтобы в итоге вы получили:

if HAVE_PYTHON
  …
else
  check-local: skip-python-test
endif

skip-python-test:
    @echo "Python not detected, will skip some tests."

и это должно работать; в качестве альтернативы вы можете сделать это в configure.ac так что пользователь может сразу заметить, что он должен установить больше зависимостей для полного охвата тестирования.

Другие вопросы по тегам