Мои модульные тесты работают нормально, но цель make test
не вернет код ошибки при неудачном завершении тестов (echo $?
равно 0) (это происходит при возникновении ошибки lisp).
Это плохо для системы CI.
Мое определение основной системы заканчивается на in-order-to
:
:in-order-to ((test-op (test-op "mysystem/test"))))
В моей тестовой системе perform
:
:perform (test-op (o s)
(uiop:symbol-call '#:mysestem.test '#:test-all)))
где test-all
- это функция, которая запускает наборы тестов Fiveam с run! 'test-suite
.
Цель make:
test:
# (with proper indentation…)
$(LISP) --non-interactive \
--eval "(asdf:load-asd \""$(ASD_PATH)"\")" \
--eval "(ql:quickload :mysystem/test)" \
--eval "(asdf:test-system \"mysystem\")"
Обратите внимание, что следуют рекомендациям ASDF при
(symbol-call :fiveam #':run! :test-suite)))
выдается ошибка «Функция: запустить! не определена».
Как нам это сделать?
Спасибо.