Makefile中的asdf:test-system不返回错误返回码

时间:2019-02-26 15:56:00

标签: common-lisp asdf

我的单元测试运行良好,但是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是使用run! 'test-suite运行Fiveam测试套件的函数。

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的best practices

                    (symbol-call :fiveam #':run! :test-suite)))

错误提示“函数:run!未定义。”

我们如何做到这一点?

谢谢。

1 个答案:

答案 0 :(得分:1)

似乎有错别字:

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