Я пытаюсь запустить тесты в ASDF, который выглядит следующим образом:
;;;; foo.asd
(defsystem "foo/tests"
:depends-on ("foo"
"fiveam")
:components ((:module "tests"
:components
((:file "main"))))
:perform (test-op (op c) (symbol-call :fiveam '#:run! 'foo/tests:all-tests))
И мой файл tests/main.lisp
начинается следующим образом:
;;;; tests/main.lisp
(defpackage foo/tests
(:use :cl
:foo
:fiveam)
(:export :#run! :#all-tests))
(in-package :foo/tests)
Когда я запускаю (asdf:test-system 'foo)
в моем REPL, я попал в отладчик с LOAD-SYSTEM-DEFINITION-ERROR
. Отладчик жалуется, что The symbol "ALL-TESTS" is not external in the FOO/TESTS package.
Однако я явно экспортирую символ в пакете foo/tests
. Может кто-нибудь сказать мне, что мне здесь не хватает и почему компилятор Lisp не видит внешний символ? Большое спасибо.