[!WARNING] This repository has been moved to Codeberg: Common Lisp Project Template
<- this test is failing to check whether failing tests actually cause the workflow to fail
This is a template for a Common Lisp project using Ocicl for package management, Lisp-Unit2 as testing framework and Check-It as property testing library. Contains GitHub actions for Linux, MacOS and Windows in ./.github/workflows/test.yml.
- Ocicl as system (package) manager
- Lisp-Unit2 as testing framework
- Check-It for property tests (like QuickCheck)
To be able to download all needed systems, Ocicl must be installed and setup to work in your REPL.
In a REPL with Ocicl enabled, run
(asdf:load-system :commonlisp-template)
Now the directory ./systems/ should exist and be filled with the downloaded dependencies.
To run all tests defined by function run-tests
in file ./test/main-test.lisp either call ASDF's test runner in a REPL:
(asdf:test-system :commonlisp-template)
or evaluate it on the command line, for example using SBCL:
sbcl --non-interactive --eval '(asdf:test-system :commonlisp-template)'
For the configuration of the test runner, see the definition of system commonlisp-template/test
in file ./commonlisp-template.asd
To run tests in the terminal or in a CI, run (commonlisp-template/test:run-tests-exit)
which quits the REPL with an exit code.
sbcl --non-interactive --eval '(asdf:load-system :commonlisp-template/test)' --eval '(commonlisp-template/test:run-tests-exit)'
The generate the executable commonlisp-template
call asdf:make
in a REPL:
(asdf:make :commonlisp-template)
or evaluate it on the command line, for example using SBCL:
sbcl --non-interactive --eval '(asdf:make :commonlisp-template)'
- on choosing the testing framework: Common Lisp Testing Frameworks: Lisp-Unit2 vs Parachute
- on using Check-It for property tests: Common Lisp Property Testing: Check-it
This template is licensed under the MIT license, see file ./LICENSE