Merge commit '728a186263' as 'third_party/lisp/fiveam'
This commit is contained in:
commit
7db9b2aa71
20 changed files with 2596 additions and 0 deletions
139
third_party/lisp/fiveam/src/package.lisp
vendored
Normal file
139
third_party/lisp/fiveam/src/package.lisp
vendored
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
|
||||
|
||||
;;;; * Introduction
|
||||
|
||||
;;;; FiveAM is a testing framework. It takes care of all the boring
|
||||
;;;; bookkeeping associated with managing a test framework allowing
|
||||
;;;; the developer to focus on writing tests and code.
|
||||
|
||||
;;;; FiveAM was designed with the following premises:
|
||||
|
||||
;;;; - Defining tests should be about writing tests, not
|
||||
;;;; infrastructure. The developer should be able to focus on what
|
||||
;;;; they're testing, not the testing framework.
|
||||
|
||||
;;;; - Interactive testing is the norm. Common Lisp is an interactive
|
||||
;;;; development environment, the testing environment should allow the
|
||||
;;;; developer to quickly and easily redefine, change, remove and run
|
||||
;;;; tests.
|
||||
|
||||
(defpackage :it.bese.fiveam
|
||||
(:use :common-lisp :alexandria)
|
||||
(:nicknames :5am :fiveam)
|
||||
#+sb-package-locks
|
||||
(:lock t)
|
||||
(:export
|
||||
;; creating tests and test-suites
|
||||
#:make-suite
|
||||
#:def-suite
|
||||
#:def-suite*
|
||||
#:in-suite
|
||||
#:in-suite*
|
||||
#:test
|
||||
#:def-test
|
||||
#:get-test
|
||||
#:rem-test
|
||||
#:test-names
|
||||
#:*default-test-compilation-time*
|
||||
;; fixtures
|
||||
#:def-fixture
|
||||
#:with-fixture
|
||||
#:get-fixture
|
||||
#:rem-fixture
|
||||
;; running checks
|
||||
#:is
|
||||
#:is-every
|
||||
#:is-true
|
||||
#:is-false
|
||||
#:signals
|
||||
#:finishes
|
||||
#:skip
|
||||
#:pass
|
||||
#:fail
|
||||
#:*test-dribble*
|
||||
#:for-all
|
||||
#:*num-trials*
|
||||
#:*max-trials*
|
||||
#:gen-integer
|
||||
#:gen-float
|
||||
#:gen-character
|
||||
#:gen-string
|
||||
#:gen-list
|
||||
#:gen-tree
|
||||
#:gen-buffer
|
||||
#:gen-one-element
|
||||
;; running tests
|
||||
#:run
|
||||
#:run-all-tests
|
||||
#:explain
|
||||
#:explain!
|
||||
#:run!
|
||||
#:debug!
|
||||
#:!
|
||||
#:!!
|
||||
#:!!!
|
||||
#:*run-test-when-defined*
|
||||
#:*debug-on-error*
|
||||
#:*debug-on-failure*
|
||||
#:*on-error*
|
||||
#:*on-failure*
|
||||
#:*verbose-failures*
|
||||
#:*print-names*
|
||||
#:results-status))
|
||||
|
||||
;;;; You can use #+5am to put your test-defining code inline with your
|
||||
;;;; other code - and not require people to have fiveam to run your
|
||||
;;;; package.
|
||||
|
||||
(pushnew :5am *features*)
|
||||
|
||||
;;;;@include "check.lisp"
|
||||
|
||||
;;;;@include "random.lisp"
|
||||
|
||||
;;;;@include "fixture.lisp"
|
||||
|
||||
;;;;@include "test.lisp"
|
||||
|
||||
;;;;@include "suite.lisp"
|
||||
|
||||
;;;;@include "run.lisp"
|
||||
|
||||
;;;;@include "explain.lisp"
|
||||
|
||||
;;;; * Colophon
|
||||
|
||||
;;;; This documentaion was written by Edward Marco Baringer
|
||||
;;;; <mb@bese.it> and generated by qbook.
|
||||
|
||||
;;;; ** COPYRIGHT
|
||||
|
||||
;;;; Copyright (c) 2002-2003, Edward Marco Baringer
|
||||
;;;; All rights reserved.
|
||||
|
||||
;;;; Redistribution and use in source and binary forms, with or without
|
||||
;;;; modification, are permitted provided that the following conditions are
|
||||
;;;; met:
|
||||
|
||||
;;;; - Redistributions of source code must retain the above copyright
|
||||
;;;; notice, this list of conditions and the following disclaimer.
|
||||
|
||||
;;;; - Redistributions in binary form must reproduce the above copyright
|
||||
;;;; notice, this list of conditions and the following disclaimer in the
|
||||
;;;; documentation and/or other materials provided with the distribution.
|
||||
|
||||
;;;; - Neither the name of Edward Marco Baringer, nor BESE, nor the names
|
||||
;;;; of its contributors may be used to endorse or promote products
|
||||
;;;; derived from this software without specific prior written permission.
|
||||
|
||||
;;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
;;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
;;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
;;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
;;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
;;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
;;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
;;;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
;;;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
;;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
;;;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
|
||||
Loading…
Add table
Add a link
Reference in a new issue