fiasco

API Reference

fiasco

A Common Lisp test framework that treasures your failures, logical continuation of Stefil.

FIASCO

  • Variable *PRINT-TEST-RUN-PROGRESS*
    t
  • Variable *TEST-PROGRESS-PRINT-RIGHT-MARGIN*
    80
  • Variable *DEBUG-ON-UNEXPECTED-ERROR*
    t
  • Variable *DEBUG-ON-ASSERTION-FAILURE*
    t
  • Variable *TEST-RESULT-HISTORY*
    'nil
  • Variable *LAST-TEST-RESULT*
    nil
  • Variable *ALWAYS-SHOW-FAILED-SEXP*
    nil
  • Variable *WARN-ABOUT-TEST-REDEFINITIONS*
    nil
  • Macro WITHOUT-DEBUGGING (&body body)
  • Variable *IGNORE-PACKAGE-SUITE-MISMATCH*
    nil
  • Function FIND-TEST (name &key (otherwise :error))
    Find and return test associated with NAME. If no such thing is found, OTHERWISE says what do to: if :ERROR, signal error; if a function, call it; else return OTHERWISE.
  • Function (setf FIND-TEST) (new-value key)
  • Function EXTRACT-TEST-RUN-STATISTICS (context)
  • Macro WITHOUT-TEST-PROGRESS-PRINTING (&body body)
  • Function RUN-FAILED-TESTS (&optional (test-run *last-test-result*))
  • Macro WITH-EXPECTED-FAILURES (&body body)
    Run BODY registering failured conditions as expected failures.
  • Function FUNCALL-TEST-WITH-FEEDBACK-MESSAGE (test-function &rest args)
    Run TEST non-interactively and print results to *STANDARD-OUTPUT*. This function is ideal for ASDF:TEST-OP's.
  • Macro IS (&whole whole form &optional (message nil message-p) &rest message-args)
  • Macro SIGNALS (&whole whole what &body body)
  • Macro NOT-SIGNALS (&whole whole what &body body)
  • Macro FINISHES (&whole whole_ &body body)
  • Function SKIP
  • Macro SKIP-UNLESS (condition)
  • Macro DEFTEST (&whole whole name args &body body)
  • Macro DEFSUITE (name-or-name-with-args &optional args)
  • Function ALL-TESTS
    Run all currently defined tests.
  • Macro DEFINE-TEST-PACKAGE (name-or-name-with-args &body package-options)
    Defines a new package and binds to it a new test suite. The binding between package and suite means that tests defined while inside this package are automatically added to the associated suite. Inside the new package, the function RUN-PACKAGE-TESTS is the preferred way to execute the suite. To run the tests from outside, use RUN-TESTS. NAME-OR-NAME-WITH-ARGS names the package and suite to create. It is either a single symbol NAME, or a list (NAME :IN PARENT-SUITE) where PARENT-SUITE designated the Fiasco suite previously created with DEFSUITE that should parent the newly created suite. Package NAME is defined via normal `defpackage', and in addition to processing PACKAGE-OPTIONS, automatically USES the :FIASCO and :CL packages.
  • Function RUN-TESTS (testable &key (describe-failures t) verbose (stream *standard-output*) interactive)
    Execute tests designated by TESTABLE. Returns two values: 1. A boolean indicating whether all tests were successful, and 2. A list of objects containing test results for each executed suite. TESTABLE can be a test or suite designator as accepted by FIND-TEST, or a package designator for a package associated with a test suite, or a list composed of any combination of the above. With optional INTERACTIVE, run tests interactively, i.e. break on errors and unexpected assertion failures. With optional DESCRIBE-FAILURES, T by default, describe failures to optional STREAM, which defaults to *STANDARD-OUTPUT*. With optional VERBOSE print more information about each test run, like its docstring.
  • Function RUN-PACKAGE-TESTS (&key (package *package* package-supplied-p) (packages (list *package*) packages-supplied-p) (describe-failures t) verbose (stream *standard-output*) interactive)
    Execute test suite(s) associated with PACKAGE or PACKAGES. PACKAGE defaults to the current package. Don't supply both both PACKAGE and PACKAGES. See RUN-TESTS for the meaning of the remaining keyword arguments.
  • Function RUN-SUITE-TESTS (suite-designator &key verbose (stream t) interactive)
  • Function DESCRIBE-FAILED-TESTS (&key (result *last-test-result* result-provided-p) (stream t))
    Prints out a report for RESULT in STREAM. RESULT defaults to `*last-test-result*' and STREAM defaults to t

FIASCO-SUITES

~
Namespace for Fiasco suites defined via DEFINE-TEST-PACKAGE.
No exported symbols.