Skip to content
/ qlt Public

Runtime testing of systems to improve Quicklisp dists.

Notifications You must be signed in to change notification settings

quicklisp/qlt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QLT

QLT is for testing systems. It consists of a number of test files and support files.

A test file starts off with a header form that specifies its prerequisites. It looks like this:

'(:requires ("foo" "bar"))

The :requires value is a list of system names to load (via ASDF) before attempting to load the rest of the file.

The remainder of the file has forms to run, as though with the load function.

If any of the forms in the test file signals an error, the test is considered failed and evaluation stops.

Loading environment

When loading the file, the *package* is set to the qlt-user package, which uses only the cl package and nothing else.

The value of *default-pathname-defaults* is the directory in which the test file is found. Non-code files related to the test file can be referenced with relative pathnames.

The variable qlt-user:*scratch-directory* is bound to a pathname to which the script can write files, if necessary for testing. All files in the scratch directory are deleted after the test completes successfully.

FASLs for supporting libraries are always compiled fresh each time the test file is loaded.

Directory structure

Test files should go in the tests/ subdirectory of this repo. Multiple related tests, or tests that require non-code support files, should go in a subdirectory.

Running tests

These tests are currently run from the Quicklisp dist construction system. The goal is to reduce the number of runtime errors in released Quicklisp dists.

To run an individual test, use the run-test.sh script, like so:

./run-test.sh tests/vecto.lisp

The build and load log will be written to standard output.

Feedback

If you have any questions or comments, feel free to email zach@quicklisp.org or open a github issue.

About

Runtime testing of systems to improve Quicklisp dists.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published