asdf: тест-система из Makefile не возвращает код возврата ошибки - PullRequest
0 голосов
/ 26 февраля 2019

Мои модульные тесты работают нормально, но цель 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)))

выдается ошибка «Функция: запустить! не определена».

Как нам это сделать?

Спасибо.

1 Ответ

0 голосов
/ 26 февраля 2019

Кажется, что есть опечатки:

  • '#:mysestem.test'#:mysystem.test
  • #':run!'#:run!
...