X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpackages.lisp;h=1730788c62eee510684f96cef7a7ab8e56403b7f;hb=2653097170b40468c10ac8f8c4d0efdce362f803;hp=53e30ae65e65988bc4b5db4975df23d9b7be59e5;hpb=5d375b445b191c9e1089eeddbef1e541db7e65f9;p=fiveam.git diff --git a/src/packages.lisp b/src/packages.lisp index 53e30ae..1730788 100644 --- a/src/packages.lisp +++ b/src/packages.lisp @@ -2,8 +2,6 @@ ;;;; * Introduction -;;;; FiveAM is A simple Common Lisp unit testing library. - ;;;; 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. @@ -11,52 +9,69 @@ ;;;; 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. +;;;; 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 :it.bese.arnesi) - (:nicknames :5am) - (:export ;; creating tests and test-suites - #:make-suite - #:def-suite - #:in-suite - #:make-test - #:test - #:get-test - #:rem-test - ;; fixtures - #:make-fixture - #:def-fixture - #:with-fixture - #:get-fixture - #:rem-fixture - ;; running checks - #:is - #:is-true - #:is-false - #:signals - #:finishes - #:skip - #:pass - #:fail - #:*test-dribble* - ;; running tests - #:run - #:run-all-tests - #:explain - #:run! - #:! - #:!! - #:!!! - #:*debug-on-error* - #:*debug-on-failure* - #:*verbose-failures*)) +;;;; 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) + (:export + ;; creating tests and test-suites + #:make-suite + #:def-suite + #:in-suite + #:in-suite* + #:make-test + #:test + #:get-test + #:rem-test + #:test-names + ;; fixtures + #:make-fixture + #: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 + #: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* + #:*verbose-failures* + #: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 @@ -66,40 +81,18 @@ ;;;;@include "check.lisp" -;;;;@include "test.lisp" +;;;;@include "random.lisp" ;;;;@include "fixture.lisp" +;;;;@include "test.lisp" + ;;;;@include "suite.lisp" ;;;;@include "run.lisp" ;;;;@include "explain.lisp" -;;;; * Examples - -#| (def-suite my-suite :description "My Example Suite") - - (in-suite my-suite) - - (test my-tests - "Example" - (is (= 4 (+ 2 2)) "2 plus 2 wasn't equal to 4 (using #'= to test equality)") - (is (= 0 (+ -1 1))) - (throws (error "Trying to add 4 to FOO didn't signal an error") - (+ 'foo 4)) - (is (= 0 (+ 1 1)) "this should have failed")) - - (run! 'my-suite) -;; Running suite MY-SUITE -..F. -Suite My Example Suite ran 4 tests (3/0/1) - 1 FAILED - -Failed Tests: -MY-TESTS FAILED: (+ 1 1) was not = to 0 (returned 2 instead) - Description: Example. - Message: this should have failed -NIL |# - ;;;; * Colophon ;;;; This documentaion was written by Edward Marco Baringer @@ -108,15 +101,15 @@ NIL |# ;;;; ** COPYRIGHT ;;;; Copyright (c) 2002-2003, Edward Marco Baringer -;;;; All rights reserved. - +;;;; 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. @@ -124,7 +117,7 @@ NIL |# ;;;; - 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