aboutsummaryrefslogtreecommitdiff
path: root/cantedraw.asd
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2025-02-21 13:53:33 +0000
committerAryadev Chavali <aryadev@aryadevchavali.com>2025-02-21 13:53:33 +0000
commitdc1f3d89706d8a038747b065110546c9351e7796 (patch)
tree218243bf7a8b981af8c3690148aa92b54660aa83 /cantedraw.asd
parentcc53e6ec42316262e9ad87230cb6892949d7a42b (diff)
downloadcantedraw-dc1f3d89706d8a038747b065110546c9351e7796.tar.gz
cantedraw-dc1f3d89706d8a038747b065110546c9351e7796.tar.bz2
cantedraw-dc1f3d89706d8a038747b065110546c9351e7796.zip
Create a unit test system
Setup cantedraw/tests with a test-system record, as well as linking it back to cantedraw so we can run test-system on cantedraw and run the tests. Using parachute, we can setup a suite of unit tests for each package. For each package in src/ or lib/ we'll write a separate unit test suite with tests for all the public exposing functionality. I've setup a main suite in cantedraw/tests/main which will depend on each of the unit test suites so we can run the tests all at once. Currently we have one test for the --> macro.
Diffstat (limited to 'cantedraw.asd')
-rw-r--r--cantedraw.asd17
1 files changed, 17 insertions, 0 deletions
diff --git a/cantedraw.asd b/cantedraw.asd
index 830a4c6..be1b17e 100644
--- a/cantedraw.asd
+++ b/cantedraw.asd
@@ -2,6 +2,7 @@
:author "Aryadev Chavali <aryadev@aryadevchavali.com>"
:license "GPL-2"
:depends-on (:alexandria)
+ :in-order-to ((asdf:test-op (asdf:test-op :cantedraw/tests)))
:components ((:file "packages")
(:module "lib"
:components
@@ -17,6 +18,22 @@
:build-pathname "bin/cantedraw"
:entry-point "cantedraw.main:start")
+(asdf:defsystem "cantedraw/tests"
+ :author "Aryadev Chavali <aryadev@aryadevchavali.com>"
+ :license "GPL-2"
+ :depends-on (:cantedraw
+ :parachute)
+ :components ((:module "tests"
+ :components
+ ((:file "macros")
+ ;; (:file "functions")
+ ;; (:file "model")
+ ;; (:file "player")
+ ;; (:file "game")
+ (:file "main"))))
+ :perform (test-op (op c) (uiop:symbol-call :parachute :test
+ :cantedraw/tests/main)))
+
;; Compress image for smaller binary size.
#+nil
(defmethod asdf:perform ((o asdf:image-op) (c asdf:system))