Common Lisp Package: STEFIL

README:

FUNCTION

Public

FUNCALL-TEST-WITH-FEEDBACK-MESSAGE (TEST-FUNCTION &REST ARGS)

Run the given test non-interactively and print the results to *standard-output*. This function is ideal for ASDF:TEST-OP's.

Undocumented

FIND-TEST (NAME &KEY (OTHERWISE ERROR))

SETFFIND-TEST (NEW-VALUE KEY)

Private

CONCATENATE-SYMBOL (&REST ARGS)

A DWIM symbol concatenate: Args will be converted to string and be concatenated to form the resulting symbol with one exception: when a package is encountered then it is stored as the target package to use at intern. If there was no package among the args then the symbol-package of the first symbol encountered will be used. If there are neither packages nor symbols among the args then the result will be interned into the current package at the time of calling.

Undocumented

%ENABLE-SHARP-BOOLEAN-SYNTAX

%IN-SUITE (NAME)

%RUN-FAILED-TESTS (GLOBAL-CONTEXT-TO-BE-PROCESSED)

CURRENT-CONTEXT

SETFCURRENT-CONTEXT (VALUE)

CURRENT-GLOBAL-CONTEXT

SETFCURRENT-GLOBAL-CONTEXT (VALUE)

EXTRACT-ASSERT-EXPRESSION-AND-MESSAGE (INPUT-FORM)

FILE-HEADER

HAS-CONTEXT

HAS-GLOBAL-CONTEXT

ILLEGAL-LAMBDA-LIST (LAMBDA-LIST)

LAMBDA-LIST-TO-FUNCALL-EXPRESSION (FUNCTION ARGS)

LAMBDA-LIST-TO-FUNCALL-LIST (ARGS)

LAMBDA-LIST-TO-LAMBDA-LIST-WITH-QUOTED-DEFAULTS (ARGS)

LAMBDA-LIST-TO-VALUE-LIST-EXPRESSION (ARGS)

LAMBDA-LIST-TO-VARIABLE-NAME-LIST (ARGS &KEY MACRO INCLUDE-SPECIALS)

MAKE-SUITE (NAME &REST ARGS &KEY &ALLOW-OTHER-KEYS)

MAKE-TEST (NAME &REST ARGS &KEY &ALLOW-OTHER-KEYS)

PARSE-LAMBDA-LIST (LAMBDA-LIST VISITOR &KEY MACRO)

RECORD-FAILURE (DESCRIPTION-TYPE &REST ARGS)

RECORD-FAILURE* (TYPE &KEY (SIGNAL-ASSERTION-FAILED T) DESCRIPTION-INITARGS)

REGISTER-ASSERTION

REGISTER-ASSERTION-WAS-SUCCESSFUL

REGISTER-TEST-BEING-RUN (TEST)

REM-TEST (NAME &REST ARGS)

RUN-TEST-BODY (TEST FUNCTION ARGUMENTS TOPLEVEL-P)

RUN-TEST-BODY-IN-HANDLERS (TEST FUNCTION)

SETUP-READTABLE

TEST-WAS-RUN-P (TEST)

WRITE-PROGRESS-CHAR (CHAR)

MACRO

Public

DEFIXTURE (NAME &BODY BODY)

Fixtures are defun's that only execute the :setup part of their body once per test session if there is any at the time of calling.

DEFSUITE* (NAME-OR-NAME-WITH-ARGS &OPTIONAL ARGS &BODY BODY)

Equivalent to (in-suite (defsuite ...)) which is the preferred way to define suites.

IN-ROOT-SUITE

Used to reset the current suite to protect from other project's last in-suite statement. Unfortunately there's noone for us to rebind *suite* when a file is loaded, so we can't behave exactly like *package* and in-package.

WITH-EXPECTED-FAILURES (&BODY BODY)

Any failure inside the dynamic extent of this block is registered as an expected failure.

Undocumented

DEFSUITE (NAME-OR-NAME-WITH-ARGS &OPTIONAL ARGS &BODY BODY)

DEFTEST (&WHOLE WHOLE NAME ARGS &BODY BODY)

FINISHES (&BODY BODY)

IN-SUITE (NAME)

IS (&WHOLE WHOLE FORM &OPTIONAL (MESSAGE NIL MESSAGE-P) &REST MESSAGE-ARGS)

RUN-FAILED-TESTS (&OPTIONAL (TEST-RESULT-PLACE '*LAST-TEST-RESULT*))

RUNS-WITHOUT-FAILURE? (&BODY BODY)

SIGNALS (WHAT &BODY BODY)

WITH-FIXTURE (NAME &BODY BODY)

WITH-FIXTURES (FIXTURES &BODY BODY)

WITHOUT-DEBUGGING (&BODY BODY)

WITHOUT-TEST-PROGRESS-PRINTING (&BODY BODY)

Private

DEFINE-DYNAMIC-CONTEXT (NAME DIRECT-SLOTS &KEY DIRECT-SUPERCLASSES EXPORT-SYMBOLS (CLASS-NAME NAME) CHAIN-PARENTS (CREATE-STRUCT NIL) (CREATE-CLASS (NOT CREATE-STRUCT)) STRUCT-OPTIONS (DEFCLASS-MACRO-NAME 'DEFCLASS))

The purpose of this macro is to provide an easy way to access a group of related special variables. To do so, it generates with-NAME/in-NAME/current-NAME/has-NAME macros to access either a CLOS instance or a defstruct in a special variable. Optionally it can chain the "parent" bindings (use :CHAIN-PARENTS T and access with PARENT-CONTEXT-OF).

DEFPRINT-OBJECT ((SELF CLASS-NAME &KEY (IDENTITY T) (TYPE T) WITH-PACKAGE) &BODY BODY)

Define a print-object method using print-unreadable-object. An example: (defprint-object (self parenscript-dispatcher) (when (cachep self) (princ "cached") (princ " ")) (princ (parenscript-file self)))

ENABLE-SHARP-BOOLEAN-SYNTAX

Copies *readtable* and enables #t and #f readers for t and nil in the copy.

Undocumented

AIF (TEST THEN &OPTIONAL ELSE)

APROG1 (RET &BODY BODY)

AWHEN (TEST &BODY BODY)

DEBUG-ONLY (&BODY BODY)

ENSURE-CONTEXT ((&REST INITARGS) &BODY FORMS)

ENSURE-GLOBAL-CONTEXT ((&REST INITARGS) &BODY FORMS)

EVAL-ALWAYS (&BODY BODY)

IF-BIND (VAR TEST &BODY THEN/ELSE)

PROG1-BIND (VAR RET &BODY BODY)

REBIND (BINDINGS &BODY BODY)

WHEN-BIND (VAR TEST &BODY BODY)

WITH-CONTEXT (CONTEXT &BODY FORMS)

WITH-GLOBAL-CONTEXT (CONTEXT &BODY FORMS)

WITH-NEW-CONTEXT ((&REST INITARGS) &BODY FORMS)

WITH-NEW-GLOBAL-CONTEXT ((&REST INITARGS) &BODY FORMS)

WITH-TOPLEVEL-RESTARTS (&BODY BODY)

GENERIC-FUNCTION

Private

Undocumented

COUNT-TESTS (TESTABLE)

FAILURE-DESCRIPTION-OF (CONDITION)

SETFFAILURE-DESCRIPTION-OF (NEW-VALUE CONDITION)

FIXTURE-OF (CONDITION)

SETFFIXTURE-OF (NEW-VALUE CONDITION)

GET-TEST-LAMBDA (TEST GLOBAL-CONTEXT)

REAL-TIME-SPENT-IN-SECONDS (CONTEXT)

SLOT-ACCESSOR

Private

AUTO-CALL-P (OBJECT)

Controls whether to automatically call this test when its parent suite is invoked. Enabled by default.

SETFAUTO-CALL-P (NEW-VALUE OBJECT)

Controls whether to automatically call this test when its parent suite is invoked. Enabled by default.

CHILDREN-OF (OBJECT)

A mapping from testable names to testables

SETFCHILDREN-OF (NEW-VALUE OBJECT)

A mapping from testable names to testables

RUN-TESTS-OF (OBJECT)

test -> context mapping

SETFRUN-TESTS-OF (NEW-VALUE OBJECT)

test -> context mapping

TEST-LAMBDAS-OF (OBJECT)

test -> compiled test lambda mapping for this test run

SETFTEST-LAMBDAS-OF (NEW-VALUE OBJECT)

test -> compiled test lambda mapping for this test run

Undocumented

ASSERTION-COUNT-OF (OBJECT)

SETFASSERTION-COUNT-OF (NEW-VALUE OBJECT)

BODY-OF (OBJECT)

SETFBODY-OF (NEW-VALUE OBJECT)

COMPILE-BEFORE-RUN-P (OBJECT)

SETFCOMPILE-BEFORE-RUN-P (NEW-VALUE OBJECT)

CONDITION-OF (CONDITION)

SETFCONDITION-OF (NEW-VALUE CONDITION)

CURRENT-TEST-OF (OBJECT)

SETFCURRENT-TEST-OF (NEW-VALUE OBJECT)

DEBUG-ON-ASSERTION-FAILURE-P (OBJECT)

SETFDEBUG-ON-ASSERTION-FAILURE-P (NEW-VALUE OBJECT)

DEBUG-ON-UNEXPECTED-ERROR-P (OBJECT)

SETFDEBUG-ON-UNEXPECTED-ERROR-P (NEW-VALUE OBJECT)

DECLARATIONS-OF (OBJECT)

SETFDECLARATIONS-OF (NEW-VALUE OBJECT)

DOCUMENTATION-OF (OBJECT)

SETFDOCUMENTATION-OF (NEW-VALUE OBJECT)

EXPECTED-P (OBJECT)

SETFEXPECTED-P (NEW-VALUE OBJECT)

FAILURE-DESCRIPTIONS-OF (OBJECT)

SETFFAILURE-DESCRIPTIONS-OF (NEW-VALUE OBJECT)

FORM-OF (OBJECT)

SETFFORM-OF (NEW-VALUE OBJECT)

FORMAT-ARGUMENTS-OF (OBJECT)

SETFFORMAT-ARGUMENTS-OF (NEW-VALUE OBJECT)

FORMAT-CONTROL-OF (OBJECT)

SETFFORMAT-CONTROL-OF (NEW-VALUE OBJECT)

INTERNAL-REALTIME-SPENT-WITH-TEST-OF (OBJECT)

SETFINTERNAL-REALTIME-SPENT-WITH-TEST-OF (NEW-VALUE OBJECT)

LAMBDA-LIST-OF (OBJECT)

SETFLAMBDA-LIST-OF (NEW-VALUE OBJECT)

NAME-OF (OBJECT)

SETFNAME-OF (NEW-VALUE OBJECT)

NUMBER-OF-ADDED-FAILURE-DESCRIPTIONS-OF (OBJECT)

SETFNUMBER-OF-ADDED-FAILURE-DESCRIPTIONS-OF (NEW-VALUE OBJECT)

PACKAGE-OF (OBJECT)

SETFPACKAGE-OF (NEW-VALUE OBJECT)

PARENT-CONTEXT-OF (OBJECT)

SETFPARENT-CONTEXT-OF (NEW-VALUE OBJECT)

PARENT-OF (OBJECT)

SETFPARENT-OF (NEW-VALUE OBJECT)

SETFPRINT-TEST-RUN-PROGRESS-P (NEW-VALUE OBJECT)

PROGRESS-CHAR-COUNT-OF (OBJECT)

SETFPROGRESS-CHAR-COUNT-OF (NEW-VALUE OBJECT)

PROGRESS-CHAR-OF (OBJECT)

SETFPROGRESS-CHAR-OF (NEW-VALUE OBJECT)

RUN-FIXTURES-OF (OBJECT)

SETFRUN-FIXTURES-OF (NEW-VALUE OBJECT)

TEST-ARGUMENTS-OF (OBJECT)

SETFTEST-ARGUMENTS-OF (NEW-VALUE OBJECT)

TEST-CONTEXT-BACKTRACE-OF (OBJECT)

SETFTEST-CONTEXT-BACKTRACE-OF (NEW-VALUE OBJECT)

TEST-OF (CONDITION)

SETFTEST-OF (NEW-VALUE CONDITION)

TOPLEVEL-CONTEXT-OF (OBJECT)

SETFTOPLEVEL-CONTEXT-OF (NEW-VALUE OBJECT)

VARIABLE

Public

Undocumented

*DEBUG-ON-ASSERTION-FAILURE*

*DEBUG-ON-UNEXPECTED-ERROR*

*LAST-TEST-RESULT*

*PRINT-TEST-RUN-PROGRESS*

*TEST-PROGRESS-PRINT-RIGHT-MARGIN*

*TEST-RESULT-HISTORY*

Private

Undocumented

*COMPILE-TESTS-BEFORE-RUN*

*COMPILE-TESTS-WITH-DEBUG-LEVEL*

*FAILURES-AND-ERRORS-ARE-EXPECTED*

*ROOT-SUITE*

*SUITE*

*TESTS*

CLASS

Private

Undocumented

CONTEXT

FAILED-ASSERTION

FAILURE-DESCRIPTION

GLOBAL-CONTEXT

MISSING-CONDITION

TEST

TESTABLE

UNEXPECTED-ERROR

CONDITION

Private

Undocumented

ASSERTION-FAILED

ERROR-IN-TEARDOWN

ILLEGAL-LAMBDA-LIST (LAMBDA-LIST)

TEST-STYLE-WARNING