1 ;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
5 ;;;; FiveAM is a testing framework. It takes care of all the boring
6 ;;;; bookkeeping associated with managing a test framework allowing
7 ;;;; the developer to focus on writing tests and code.
9 ;;;; FiveAM was designed with the following premises:
11 ;;;; - Defining tests should be about writing tests, not
12 ;;;; infrastructure. The developer should be able to focus on what
13 ;;;; they're testing, not the testing framework.
15 ;;;; - Interactive testing is the norm. Common Lisp is an interactive
16 ;;;; development environment, the testing environment should allow the
17 ;;;; developer to quickly and easily redefine, change, remove and run
20 (defpackage :it.bese.fiveam
21 (:use :common-lisp :alexandria)
22 (:nicknames :5am :fiveam)
26 ;; creating tests and test-suites
73 #:*run-test-when-defined*
79 ;;;; You can use #+5am to put your test-defining code inline with your
80 ;;;; other code - and not require people to have fiveam to run your
83 (pushnew :5am *features*)
85 ;;;;@include "check.lisp"
87 ;;;;@include "random.lisp"
89 ;;;;@include "fixture.lisp"
91 ;;;;@include "test.lisp"
93 ;;;;@include "suite.lisp"
95 ;;;;@include "run.lisp"
97 ;;;;@include "explain.lisp"
101 ;;;; This documentaion was written by Edward Marco Baringer
102 ;;;; <mb@bese.it> and generated by qbook.
106 ;;;; Copyright (c) 2002-2003, Edward Marco Baringer
107 ;;;; All rights reserved.
109 ;;;; Redistribution and use in source and binary forms, with or without
110 ;;;; modification, are permitted provided that the following conditions are
113 ;;;; - Redistributions of source code must retain the above copyright
114 ;;;; notice, this list of conditions and the following disclaimer.
116 ;;;; - Redistributions in binary form must reproduce the above copyright
117 ;;;; notice, this list of conditions and the following disclaimer in the
118 ;;;; documentation and/or other materials provided with the distribution.
120 ;;;; - Neither the name of Edward Marco Baringer, nor BESE, nor the names
121 ;;;; of its contributors may be used to endorse or promote products
122 ;;;; derived from this software without specific prior written permission.
124 ;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
125 ;;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
126 ;;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
127 ;;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
128 ;;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
129 ;;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
130 ;;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
131 ;;;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
132 ;;;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
133 ;;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
134 ;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE