I'm trying to scaffold a Common Lisp project using the instructions I found here: http://turtleware.eu/posts/Tutorial-Working-with-FiveAM.html. I cloned the repo and followed the instructions in the document so that my .asd
file, my package.lisp
file, and my tests/package.lisp
and tests/main.lisp
files matched the instructions. I ran (asdf:test-system 'quasirpg)
and everything worked fine.
I copied this example project to my real working folder and did a search and replace to change all instances of quasirpg
to foo
. I ran (asdf:test-system 'foo)
and the REPL gave me an error that the package "FOO-TESTS" couldn't be found.
Now, I re-ran (asdf:test-system 'quasirpg)
, which worked before, and the REPL is giving me the same error, that the package "QUASIRPG-TESTS" can't be found.
Can anybody please explain what's going on here and how I get my asdf
package manager to find the test packages?
Thank you.
;;;; foo.asd
(asdf:defsystem #:foo
:description "Part of the FiveAM tutorial"
:author "Tomek 'uint' Kurcz"
:license "GPLv3"
:serial t
:components ((:file "package")
(:file "foo"))
:in-order-to ((test-op (test-op "foo/tests"))))
(asdf:defsystem #:foo/tests
:depends-on (:foo :fiveam)
:components ((:module "tests"
:serial t
:components ((:file "package")
(:file "main"))))
:perform (test-op (o s)
(uiop:symbol-call :fiveam :run! 'foo-tests:all-tests)))
;;;; tests/package.lisp
(defpackage #:foo-tests
(:use :cl :fiveam)
(:export #:run! #:all-tests))
;;;; tests/main.lisp
(in-package #:foo-tests)
(def-suite all-tests
:description "The master suite of all foo tests.")
;; tests continue below