The org.melusina.confidence Reference Manual

This is the org.melusina.confidence Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 04:47:14 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 org.melusina.confidence

A Simple Interactive Test Framework for Common Lisp

Author

Michaël Le Barbier

License

MIT

Dependency

alexandria (system).

Source

org.melusina.confidence.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 org.melusina.confidence/src

Source

org.melusina.confidence.asd.

Parent Component

org.melusina.confidence (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 org.melusina.confidence/org.melusina.confidence.asd

Source

org.melusina.confidence.asd.

Parent Component

org.melusina.confidence (system).

ASDF Systems

org.melusina.confidence.


4.1.2 org.melusina.confidence/src/package.lisp

Source

org.melusina.confidence.asd.

Parent Component

src (module).

Packages

confidence.


4.1.3 org.melusina.confidence/src/utilities.lisp

Source

org.melusina.confidence.asd.

Parent Component

src (module).

Internals

4.1.4 org.melusina.confidence/src/assertion.lisp

Source

org.melusina.confidence.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.5 org.melusina.confidence/src/result.lisp

Source

org.melusina.confidence.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.6 org.melusina.confidence/src/testcase.lisp

Source

org.melusina.confidence.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.7 org.melusina.confidence/src/entrypoint.lisp

Source

org.melusina.confidence.asd.

Parent Component

src (module).


5 Packages

Packages are listed by definition order.


5.1 confidence

Source

package.lisp.

Nickname

org.melusina.confidence

Use List

common-lisp.

Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *double-float-precision*

The precision used to compare of double precision floats.
This number can be understood as the number of matching digits in the binary representation of the fractional part of float numbers, yet distinct tests interpret this value differently.

Package

confidence.

Source

assertion.lisp.

Special Variable: *single-float-precision*

The precision used to compare of single precision floats.
This number can be understood as the number of matching digits in the binary representation of the fractional part of float numbers, yet distinct tests interpret this value differently.

Package

confidence.

Source

assertion.lisp.

Special Variable: *testcase-break-into-the-debugger-on-errors*

Flag controlling whether an unexpected error should open the debugger.

Package

confidence.

Source

testcase.lisp.

Special Variable: *testcase-describe-failed-assertions*

Flag controlling whether a testcase should describe failed assertions or not.

Package

confidence.

Source

testcase.lisp.

Special Variable: *testcase-interactive-p*

Flag governing the interactive mode of testcases.
When the flag is a generalised boolean, a failed assertion can be retried.

The default value of the parameter is based on the :SWANK and :SLYNK features.

Package

confidence.

Source

testcase.lisp.

Special Variable: *testsuite-id*

A unique identfier for the current testsuite run batch.

Package

confidence.

Source

testcase.lisp.

Special Variable: *testsuite-name*

The basename for the testsuite.

Usually TESTSUITE but commonly used values are ACCEPTANCE, INTEGRATION, PREFLIGHT, etc.

Package

confidence.

Source

testcase.lisp.


6.1.2 Macros

Macro: assert-condition (form condition &optional slots &body body)

Assert that the evaluation of FORM signals a CONDITION.
It is possible to perform arbitrary checks on the condition by providing SLOTS, which are bound to the generated condition slots as in WITH-SLOTS and the given BODY yielding a boolean validating details of the assertion. When this boolean is NIL, a string must be returned as second value to explain why the validation failed.

Package

confidence.

Source

assertion.lisp.

Macro: define-assertion (name lambda-list &body body)

Define an assertion function NAME, accepting LAMBDA-LIST and evaluating BODY. The BODY is interpreted as computing a generalised boolean value, which determines if the assertion is a success or failure. When it is a success, a single value T is returned. When it is a failure, two values NIL and
a descriptive string are returned.

The NAME must start with ASSERT-, ASSERT<, ASSERT> or ASSERT=.

When the first BODY form is a string, this string is used as a docstring for the function NAME. If no report function has been provided, a report function constantly printing the docstring is supplied.

When the next BODY form starts with the keyword :REPORT, then the rest of that form must be function of a STREAM. This function is then used to generate an informational message when reporting the corresponding error condition. This allows to add dynamic context to this informational messsage, like the value of some variables. (That syntax is reminesccent of RESTART-CASE.)

Package

confidence.

Source

assertion.lisp.

Macro: define-testcase (testcase-name testcase-args &body body)

Define a test case function TESTCASE-NAME, accepting TESTCASE-ARGS with BODY. The BODY is examined and assertions spotted in it are wrapped with extra code installing restarts and aggregating outcomes for assertions and nested testcases..

The return value of a testcase is a TESTCASE-OUTCOME, holding a precise description of tests that ran and their outcomes.

Package

confidence.

Source

testcase.lisp.


6.1.3 Ordinary functions

Function: assert-char-equal (character1 character2)

Assert that CHARACTER1 and CHARACTER2 satisfy the CHAR-EQUAL predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-char< (character1 character2)

Assert that CHARACTER1 and CHARACTER2 satisfy the CHAR< predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-char<= (character1 character2)

Assert that CHARACTER1 and CHARACTER2 satisfy the CHAR<= predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-char= (character1 character2)

Assert that CHARACTER1 and CHARACTER2 satisfy the CHAR= predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-char> (character1 character2)

Assert that CHARACTER1 and CHARACTER2 satisfy the CHAR> predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-char>= (character1 character2)

Assert that CHARACTER1 and CHARACTER2 satisfy the CHAR>= predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-eq (a b)

Assert that A and B satisfy the EQ predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-eql (a b)

Assert that A and B satisfy the EQL predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-equal (a b)

Assert that A and B satisfy the EQUAL predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-equalp (a b)

Assert that A and B satisfy the EQUALP predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert-float-is-approximately-equal (float1 float2 &key inaccuracy float-type)

Assert that FLOAT1 is approximately equal to FLOAT2.
This means that FLOAT1 and FLOAT2 are in a neighbourhood whose size is based
on the magnitude orders of FLOAT1 and FLOAT2 and the floating point precision.

A specific FLOAT-TYPE of ’SINGLE-FLOAT or ’DOUBLE-FLOAT can be explicitly supplied.

Package

confidence.

Source

assertion.lisp.

Function: assert-float-is-definitely-greater-than (float1 float2 &key inaccuracy float-type)

Assert that FLOAT1 is defintely greater than FLOAT2.
This means that FLOAT1 is greater than FLOAT2 and not in a neighbourhood of FLOAT2 whose diameter is controlled by the INACCURACY, the magnitude orders of FLOAT1 and FLOAT2 and the floating point precision.

A specific FLOAT-TYPE of ’SINGLE-FLOAT or ’DOUBLE-FLOAT can be explicitly supplied.

Package

confidence.

Source

assertion.lisp.

Function: assert-float-is-definitely-less-than (float1 float2 &key inaccuracy float-type)

Assert that FLOAT1 is definetely less than FLOAT2
This means that FLOAT2 is greater than FLOAT1 and not in a neighbourhood of FLOAT1 whose diameter is controlled by the INACCURACY, the magnitude orders of FLOAT1 and FLOAT2 and the floating point precision.

A specific FLOAT-TYPE of ’SINGLE-FLOAT or ’DOUBLE-FLOAT can be explicitly supplied.

Package

confidence.

Source

assertion.lisp.

Function: assert-float-is-essentially-equal (float1 float2 &key inaccuracy float-type)

Asssert that FLOAT1 is essentially equal to FLOAT2.
This means that FLOAT1 and FLOAT2 are in a neighbourhood whose size is based
on the magnitude orders of FLOAT1 and FLOAT2 and the floating point precision.

A specific FLOAT-TYPE of ’SINGLE-FLOAT or ’DOUBLE-FLOAT can be explicitly supplied.

Package

confidence.

Source

assertion.lisp.

Function: assert-list-equal (list1 list2 &key test)

Assert that LIST1 and LIST2 are equal.
Lists are equal if they have the same length and have equal elements at each index. The equality predicate used to compare elements is either EQL or the predicate provided by the :TEST keyword argument.

Package

confidence.

Source

assertion.lisp.

Function: assert-nil (expr)

Assert that EXPR is NIL.

Package

confidence.

Source

assertion.lisp.

Function: assert-set-equal (list1 list2 &key key test)

Assert that LIST1 denotes the same set as LIST2.

Package

confidence.

Source

assertion.lisp.

Function: assert-string-equal (string1 string2 &key start1 end1 start2 end2)

Assert that STRING1 and STRING2 satisfy the STRING-EQUAL predicate. This assertion supports the same keyword parameters as STRING-EQUAL.

Package

confidence.

Source

assertion.lisp.

Function: assert-string-match (text pattern)

Assert that TEXT matches globbing PATTERN.

Package

confidence.

Source

assertion.lisp.

Function: assert-string< (string1 string2 &key start1 end1 start2 end2)

Assert that STRING1 and STRING2 satisfy the STRING< predicate. This assertion supports the same keyword parameters as STRING<.

Package

confidence.

Source

assertion.lisp.

Function: assert-string<= (string1 string2 &key start1 end1 start2 end2)

Assert that STRING1 and STRING2 satisfy the STRING<= predicate. This assertion supports the same keyword parameters as STRING<=.

Package

confidence.

Source

assertion.lisp.

Function: assert-string= (string1 string2 &key start1 end1 start2 end2)

Assert that STRING1 and STRING2 satisfy the STRING= predicate. This assertion supports the same keyword parameters as STRING=.

Package

confidence.

Source

assertion.lisp.

Function: assert-string> (string1 string2 &key start1 end1 start2 end2)

Assert that STRING1 and STRING2 satisfy the STRING> predicate. This assertion supports the same keyword parameters as STRING>.

Package

confidence.

Source

assertion.lisp.

Function: assert-string>= (string1 string2 &key start1 end1 start2 end2)

Assert that STRING1 and STRING2 satisfy the STRING>= predicate. This assertion supports the same keyword parameters as STRING>=.

Package

confidence.

Source

assertion.lisp.

Function: assert-subsetp (list1 list2 &key key test)

Assert that the set represented by LIST1 is a subset of LIST2.

Package

confidence.

Source

assertion.lisp.

Function: assert-t (expr)

Assert that EXPR is T.
This does not compare EXPR to T as a generalised boolean, cf. ASSERT-T*.

Package

confidence.

Source

assertion.lisp.

Function: assert-t* (expr)

Assert that EXPR is true as a generalised boolean.

Package

confidence.

Source

assertion.lisp.

Function: assert-type (expr type)

Assert that EXPR evaluates to a value of type TYPE.

Package

confidence.

Source

assertion.lisp.

Function: assert-vector-equal (vector1 vector2 &key test)

Assert that VECTOR1 and VECTOR2 are equal.
Vectors are equal if they have the same length and have equal elements at each index. The equality predicate used to compare elements is either EQL or the predicate provided by the :TEST keyword argument.

Package

confidence.

Source

assertion.lisp.

Function: assert< (a b)

Assert that A and B satisfy the < predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert<= (a b)

Assert that A and B satisfy the <= predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert= (a b)

Assert that A and B satisfy the = predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert> (a b)

Assert that A and B satisfy the > predicate.

Package

confidence.

Source

assertion.lisp.

Function: assert>= (a b)

Assert that A and B satisfy the >= predicate.

Package

confidence.

Source

assertion.lisp.

Function: list-assertions (&optional package-designator)

List assertions exported by PACKAGE-DESIGNATOR.

Package

confidence.

Source

assertion.lisp.

Function: list-testcases (&optional package-designator)

List testcases exported by PACKAGE-DESIGNATOR.

Package

confidence.

Source

testcase.lisp.

Function: print-export-list-for-testcases (&optional package-designator)

Print a form suitable for exporting TESTCASES defiend by PACKAGE-DESIGNATOR.

Package

confidence.

Source

testcase.lisp.

Function: quit ()

Quit the SBCL lisp image and set exit status accordingly.

Package

confidence.

Source

testcase.lisp.

Function: testcase-break-into-the-debugger-on-errors (&optional breakp)

Set the flag controlling wether an unexpected error should open the debugger.

Package

confidence.

Source

testcase.lisp.


6.1.4 Generic functions

Generic Reader: assertion-argument-names (condition)
Package

confidence.

Methods
Reader Method: assertion-argument-names ((condition assertion-outcome))
Source

testcase.lisp.

Target Slot

argument-names.

Generic Reader: assertion-argument-values (condition)
Package

confidence.

Methods
Reader Method: assertion-argument-values ((condition assertion-outcome))
Source

testcase.lisp.

Target Slot

argument-values.

Generic Reader: assertion-condition (condition)
Package

confidence.

Methods
Reader Method: assertion-condition ((condition assertion-condition))
Source

testcase.lisp.

Target Slot

condition.

Generic Reader: assertion-description (condition)
Package

confidence.

Methods
Reader Method: assertion-description ((condition assertion-failure))
Source

testcase.lisp.

Target Slot

description.

Generic Reader: assertion-form (condition)
Package

confidence.

Methods
Reader Method: assertion-form ((condition assertion-outcome))
Source

testcase.lisp.

Target Slot

form.

Generic Reader: assertion-name (condition)
Package

confidence.

Methods
Reader Method: assertion-name ((condition assertion-outcome))
Source

testcase.lisp.

Target Slot

name.

Generic Reader: assertion-path (condition)
Package

confidence.

Methods
Reader Method: assertion-path ((condition assertion-outcome))
Source

testcase.lisp.

Target Slot

path.

Generic Reader: assertion-type (condition)
Package

confidence.

Methods
Reader Method: assertion-type ((condition assertion-outcome))
Source

testcase.lisp.

Target Slot

type.

Generic Reader: testcase-argument-values (object)
Package

confidence.

Methods
Reader Method: testcase-argument-values ((testcase-outcome testcase-outcome))

The list of evaluated arguments for the testcase.

Source

result.lisp.

Target Slot

argument-values.

Generic Reader: testcase-condition (object)
Package

confidence.

Methods
Reader Method: testcase-condition ((testcase-outcome testcase-outcome))

The total number of assertions that yielded a condition in the testcase and its descendants.

Source

result.lisp.

Target Slot

condition.

Generic Reader: testcase-failure (object)
Package

confidence.

Methods
Reader Method: testcase-failure ((testcase-outcome testcase-outcome))

The total number of assertions that yielded a failure in the testcase and its descendants.

Source

result.lisp.

Target Slot

failure.

Generic Reader: testcase-name (object)
Package

confidence.

Methods
Reader Method: testcase-name ((testcase-outcome testcase-outcome))

automatically generated reader method

Source

result.lisp.

Target Slot

name.

Generic Reader: testcase-outcome (condition)
Package

confidence.

Methods
Reader Method: testcase-outcome ((condition testcase-end))
Source

testcase.lisp.

Target Slot

outcome.

Generic Reader: testcase-path (object)
Package

confidence.

Methods
Reader Method: testcase-path ((testcase-outcome testcase-outcome))

The path of the result in the test hierarchy.
This is the stack of preceding testcases in the test hierarchy.

Source

result.lisp.

Target Slot

path.

Generic Reader: testcase-success (object)
Package

confidence.

Methods
Reader Method: testcase-success ((testcase-outcome testcase-outcome))

The total number of assertions that yielded a success in the testcase and its descendants.

Source

result.lisp.

Target Slot

success.

Generic Reader: testcase-total (object)
Package

confidence.

Methods
Reader Method: testcase-total ((testcase-outcome testcase-outcome))

The total number of assertions in the testcase and its descendants.

Source

result.lisp.

Target Slot

total.


6.1.5 Standalone methods

Method: describe-object ((instance testcase-outcome) stream)
Source

result.lisp.

Method: print-object ((instance testcase-outcome) stream)
Source

result.lisp.


6.1.6 Conditions

Condition: assertion-condition

The condition signaled by assertions that trigger an unexpected condition instead of returning normally.

Package

confidence.

Source

testcase.lisp.

Direct superclasses

assertion-outcome.

Direct methods

assertion-condition.

Direct slots
Slot: condition

The condition signalled by the assertion.

Package

common-lisp.

Initform

(quote (error "an assertion-condition requires a :condition."))

Initargs

:condition

Readers

assertion-condition.

Writers

This slot is read-only.


6.1.7 Classes

Class: testcase-outcome

A class capturing a testcase outcome.

Package

confidence.

Source

result.lisp.

Direct methods
Direct slots
Slot: path

The path of the result in the test hierarchy.
This is the stack of preceding testcases in the test hierarchy.

Initargs

:path

Readers

testcase-path.

Writers

This slot is read-only.

Slot: name
Initform

(error "a testcase-outcome requires a :name.")

Initargs

:name

Readers

testcase-name.

Writers

This slot is read-only.

Slot: argument-values

The list of evaluated arguments for the testcase.

Initargs

:argument-values

Readers

testcase-argument-values.

Writers

This slot is read-only.

Slot: total

The total number of assertions in the testcase and its descendants.

Initform

0

Initargs

:total

Readers

testcase-total.

Writers

This slot is read-only.

Slot: success

The total number of assertions that yielded a success in the testcase and its descendants.

Initform

0

Initargs

:success

Readers

testcase-success.

Writers

This slot is read-only.

Slot: failure

The total number of assertions that yielded a failure in the testcase and its descendants.

Initform

0

Initargs

:failure

Readers

testcase-failure.

Writers

This slot is read-only.

Slot: condition

The total number of assertions that yielded a condition in the testcase and its descendants.

Package

common-lisp.

Initform

0

Initargs

:condition

Readers

testcase-condition.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Special variables

Special Variable: *alphabet-base36*

The set of characters used for base 36 encoding.

Package

confidence.

Source

utilities.lisp.

Special Variable: *alphabet-base64*

The set of characters used for base 64 encoding.

Package

confidence.

Source

utilities.lisp.

Special Variable: *alphabet-hexadecimal*

The set of hexadecimal characters.

Package

confidence.

Source

utilities.lisp.

Special Variable: *current-testcase-outcome*

The outcome of the current testcase.

Package

confidence.

Source

result.lisp.

Special Variable: *last-testsuite-outcome*

The outcome of the last testsuite.

Package

confidence.

Source

result.lisp.

Special Variable: *last-testsuite-result*

The results of the last testsuite that ran.

Package

confidence.

Source

testcase.lisp.

Special Variable: *testcase-path*

The current path in the testcase hierarchy.
This is a list of symbols designating the argument-less testcases in the call stack.

Package

confidence.

Source

testcase.lisp.


6.2.2 Macros

Macro: float-comparison-threshold (float-type binop k u v)
Package

confidence.

Source

assertion.lisp.

Macro: instrument-assertion (form)

Instrument the execution of the assertion FORM and return ASSERTION evaluation details. This makes sure that the returned type for FORM is an instance of RESULT and guarantees that conditions triggered by the evaluation of arguments are recorded.

Package

confidence.

Source

testcase.lisp.


6.2.3 Ordinary functions

Function: define-testcase/wrap-assertion-forms (body-forms)

Walks through BODY-FORMS and wrap assertion forms in a RESTART-CASE.

Package

confidence.

Source

testcase.lisp.

Function: describe-assertion-condition (condition stream)
Package

confidence.

Source

testcase.lisp.

Function: describe-assertion-failure (condition stream)
Package

confidence.

Source

testcase.lisp.

Function: describe-assertion-outcome (condition stream)
Package

confidence.

Source

testcase.lisp.

Function: describe-assertion-success (condition stream)
Package

confidence.

Source

testcase.lisp.

Function: describe-object-arguments (condition stream)
Package

confidence.

Source

testcase.lisp.

Function: describe-testcase-end (condition stream)
Package

confidence.

Source

testcase.lisp.

Function: export-testcase-outcome (outcome)

Export OUTCOME description.

Package

confidence.

Source

testcase.lisp.

Function: failwith-assertion-report (report)
Package

confidence.

Source

assertion.lisp.

Function: guess-cicdtool ()

Guess which CI/CD tool this process is running under.

The returned value is one of:

NIL, :GOCD, :JENKINS, :GITHUB-ACTIONS, :CIRCLECI

References:

* GoCD: https://docs.gocd.org/current/faq/dev_use_current_revision_in_build.html
* Jenkins: https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables * GitHub Actions: https://docs.github.com/en/actions/learn-github-actions/environment-variables * CircleCI: https://circleci.com/docs/2.0/env-vars/

Package

confidence.

Source

testcase.lisp.

Function: instrument-assertion-1 (&key name form type argument-names argument-lambdas assertion-lambda)

Supervise the execution of ARGUMENTS-LAMBDA and ASSERTION-LAMBDA.

Package

confidence.

Source

testcase.lisp.

Function: make-report-string-comparison (comparison string1 string2)
Package

confidence.

Source

assertion.lisp.

Function: make-testcase-outcome (&rest initargs &key path name argument-values total success failure condition)
Package

confidence.

Source

result.lisp.

Function: make-testsuite-id ()

Make a good value for *TESTSUITE-ID* based on *TESTSUITE-NAME* and CI/CD tool used.

Package

confidence.

Source

testcase.lisp.

Function: parse-assertion-forms (name forms)

Parse assertion FORMS for assertion NAME.
It returns the DOCSTRING, the REPORT function, the list of DECLARATIONS and remaining FORMS as multiple values.

Package

confidence.

Source

assertion.lisp.

Function: random-string (&optional length alphabet)

Prepare a random alphabetic string of given LENGTH.

The returned string contains LENGTH characters chosen from
the vector ALPHABET. When ALPHABET is one of the keywords

:HEXADECIMAL :BASE36 and :BASE64

the corresponding alphabet is used.

This uses a very weak method that does not try to avoid collisions.x

Package

confidence.

Source

utilities.lisp.

Function: report-string-comparison/details (stream comparison string1 string2)
Package

confidence.

Source

assertion.lisp.

Function: report-string-comparison/unexpected-type (stream label object)
Package

confidence.

Source

assertion.lisp.

Function: run-testcase (&key testcase-name testcase-body)

Run TESTCASE-BODY

Package

confidence.

Source

testcase.lisp.

Function: set-assertion-properties (name lambda-list)

Set assertion properties on symbol NAME.

Package

confidence.

Source

assertion.lisp.

Function: set-testcase-properties (name)
Package

confidence.

Source

testcase.lisp.

Function: string-match (pattern text)

Predicate recognising TEXT matching a globbing PATTERN.

Package

confidence.

Source

utilities.lisp.

Function: stringcat (&rest strings)

Concatenate STRINGS.
This is a shortand which is useful in combination to reader macros.

Package

confidence.

Source

utilities.lisp.

Function: testcase-outcome-pathname (outcome)

The pathname used to write OUTCOME description.

Package

confidence.

Source

testcase.lisp.


6.2.4 Conditions

Condition: assertion-failure

The condition signaled by failed assertions.

Package

confidence.

Source

testcase.lisp.

Direct superclasses

assertion-outcome.

Direct methods

assertion-description.

Direct slots
Slot: description

A detailed description on why the assertion failed.

Initform

(quote (error "an assertion-failure requires a :description."))

Initargs

:description

Readers

assertion-description.

Writers

This slot is read-only.

Condition: assertion-outcome

The condition signalling an assertion result.

Package

confidence.

Source

testcase.lisp.

Direct superclasses

condition.

Direct subclasses
Direct methods
Direct slots
Slot: path

The path of the result in the test hierarchy.
This is the stack of preceding testcases in the test hierarchy.

Initform

(quote nil)

Initargs

:path

Readers

assertion-path.

Writers

This slot is read-only.

Slot: type

One of the keywords :FUNCTION or :MACRO according to the nature of the assertion.

Package

common-lisp.

Initform

(quote :function)

Initargs

:type

Readers

assertion-type.

Writers

This slot is read-only.

Slot: name

The symbol designating the assertion that yielded this result. This is the first element of the FORM.

Initform

(quote (error "an assertion-outcome requires a :name."))

Initargs

:name

Readers

assertion-name.

Writers

This slot is read-only.

Slot: argument-values

The list of evaluated arguments for the assertion.

Initform

(quote (error "an assertion-outcome requires an :argument-values list."))

Initargs

:argument-values

Readers

assertion-argument-values.

Writers

This slot is read-only.

Slot: argument-names

The list of argument names for the assertion.

Initform

(quote (error "an assertion-outcome requires an :argument-names list."))

Initargs

:argument-names

Readers

assertion-argument-names.

Writers

This slot is read-only.

Slot: form

The form for the assertion invocation.

Initform

(quote (error "an assertion-outcome requires a :form."))

Initargs

:form

Readers

assertion-form.

Writers

This slot is read-only.

Condition: assertion-skipped

The condition signaled by assertions that are skipped.

Package

confidence.

Source

testcase.lisp.

Direct superclasses

condition.

Condition: assertion-success

The condition signaled by succesful assertions.

Package

confidence.

Source

testcase.lisp.

Direct superclasses

assertion-outcome.

Condition: testcase-end

The condition signalled at the end of a testcase.

Package

confidence.

Source

testcase.lisp.

Direct superclasses

condition.

Direct methods

testcase-outcome.

Direct slots
Slot: outcome

The outcome of the finished testcase.

Initform

(quote (error "a testcase-end requires an outcome."))

Initargs

:outcome

Readers

testcase-outcome.

Writers

This slot is read-only.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   A   D   E   F   G   I   L   M   P   Q   R   S   T  
Index Entry  Section

A
assert-char-equal: Public ordinary functions
assert-char<: Public ordinary functions
assert-char<=: Public ordinary functions
assert-char=: Public ordinary functions
assert-char>: Public ordinary functions
assert-char>=: Public ordinary functions
assert-condition: Public macros
assert-eq: Public ordinary functions
assert-eql: Public ordinary functions
assert-equal: Public ordinary functions
assert-equalp: Public ordinary functions
assert-float-is-approximately-equal: Public ordinary functions
assert-float-is-definitely-greater-than: Public ordinary functions
assert-float-is-definitely-less-than: Public ordinary functions
assert-float-is-essentially-equal: Public ordinary functions
assert-list-equal: Public ordinary functions
assert-nil: Public ordinary functions
assert-set-equal: Public ordinary functions
assert-string-equal: Public ordinary functions
assert-string-match: Public ordinary functions
assert-string<: Public ordinary functions
assert-string<=: Public ordinary functions
assert-string=: Public ordinary functions
assert-string>: Public ordinary functions
assert-string>=: Public ordinary functions
assert-subsetp: Public ordinary functions
assert-t: Public ordinary functions
assert-t*: Public ordinary functions
assert-type: Public ordinary functions
assert-vector-equal: Public ordinary functions
assert<: Public ordinary functions
assert<=: Public ordinary functions
assert=: Public ordinary functions
assert>: Public ordinary functions
assert>=: Public ordinary functions
assertion-argument-names: Public generic functions
assertion-argument-names: Public generic functions
assertion-argument-values: Public generic functions
assertion-argument-values: Public generic functions
assertion-condition: Public generic functions
assertion-condition: Public generic functions
assertion-description: Public generic functions
assertion-description: Public generic functions
assertion-form: Public generic functions
assertion-form: Public generic functions
assertion-name: Public generic functions
assertion-name: Public generic functions
assertion-path: Public generic functions
assertion-path: Public generic functions
assertion-type: Public generic functions
assertion-type: Public generic functions

D
define-assertion: Public macros
define-testcase: Public macros
define-testcase/wrap-assertion-forms: Private ordinary functions
describe-assertion-condition: Private ordinary functions
describe-assertion-failure: Private ordinary functions
describe-assertion-outcome: Private ordinary functions
describe-assertion-success: Private ordinary functions
describe-object: Public standalone methods
describe-object-arguments: Private ordinary functions
describe-testcase-end: Private ordinary functions

E
export-testcase-outcome: Private ordinary functions

F
failwith-assertion-report: Private ordinary functions
float-comparison-threshold: Private macros
Function, assert-char-equal: Public ordinary functions
Function, assert-char<: Public ordinary functions
Function, assert-char<=: Public ordinary functions
Function, assert-char=: Public ordinary functions
Function, assert-char>: Public ordinary functions
Function, assert-char>=: Public ordinary functions
Function, assert-eq: Public ordinary functions
Function, assert-eql: Public ordinary functions
Function, assert-equal: Public ordinary functions
Function, assert-equalp: Public ordinary functions
Function, assert-float-is-approximately-equal: Public ordinary functions
Function, assert-float-is-definitely-greater-than: Public ordinary functions
Function, assert-float-is-definitely-less-than: Public ordinary functions
Function, assert-float-is-essentially-equal: Public ordinary functions
Function, assert-list-equal: Public ordinary functions
Function, assert-nil: Public ordinary functions
Function, assert-set-equal: Public ordinary functions
Function, assert-string-equal: Public ordinary functions
Function, assert-string-match: Public ordinary functions
Function, assert-string<: Public ordinary functions
Function, assert-string<=: Public ordinary functions
Function, assert-string=: Public ordinary functions
Function, assert-string>: Public ordinary functions
Function, assert-string>=: Public ordinary functions
Function, assert-subsetp: Public ordinary functions
Function, assert-t: Public ordinary functions
Function, assert-t*: Public ordinary functions
Function, assert-type: Public ordinary functions
Function, assert-vector-equal: Public ordinary functions
Function, assert<: Public ordinary functions
Function, assert<=: Public ordinary functions
Function, assert=: Public ordinary functions
Function, assert>: Public ordinary functions
Function, assert>=: Public ordinary functions
Function, define-testcase/wrap-assertion-forms: Private ordinary functions
Function, describe-assertion-condition: Private ordinary functions
Function, describe-assertion-failure: Private ordinary functions
Function, describe-assertion-outcome: Private ordinary functions
Function, describe-assertion-success: Private ordinary functions
Function, describe-object-arguments: Private ordinary functions
Function, describe-testcase-end: Private ordinary functions
Function, export-testcase-outcome: Private ordinary functions
Function, failwith-assertion-report: Private ordinary functions
Function, guess-cicdtool: Private ordinary functions
Function, instrument-assertion-1: Private ordinary functions
Function, list-assertions: Public ordinary functions
Function, list-testcases: Public ordinary functions
Function, make-report-string-comparison: Private ordinary functions
Function, make-testcase-outcome: Private ordinary functions
Function, make-testsuite-id: Private ordinary functions
Function, parse-assertion-forms: Private ordinary functions
Function, print-export-list-for-testcases: Public ordinary functions
Function, quit: Public ordinary functions
Function, random-string: Private ordinary functions
Function, report-string-comparison/details: Private ordinary functions
Function, report-string-comparison/unexpected-type: Private ordinary functions
Function, run-testcase: Private ordinary functions
Function, set-assertion-properties: Private ordinary functions
Function, set-testcase-properties: Private ordinary functions
Function, string-match: Private ordinary functions
Function, stringcat: Private ordinary functions
Function, testcase-break-into-the-debugger-on-errors: Public ordinary functions
Function, testcase-outcome-pathname: Private ordinary functions

G
Generic Function, assertion-argument-names: Public generic functions
Generic Function, assertion-argument-values: Public generic functions
Generic Function, assertion-condition: Public generic functions
Generic Function, assertion-description: Public generic functions
Generic Function, assertion-form: Public generic functions
Generic Function, assertion-name: Public generic functions
Generic Function, assertion-path: Public generic functions
Generic Function, assertion-type: Public generic functions
Generic Function, testcase-argument-values: Public generic functions
Generic Function, testcase-condition: Public generic functions
Generic Function, testcase-failure: Public generic functions
Generic Function, testcase-name: Public generic functions
Generic Function, testcase-outcome: Public generic functions
Generic Function, testcase-path: Public generic functions
Generic Function, testcase-success: Public generic functions
Generic Function, testcase-total: Public generic functions
guess-cicdtool: Private ordinary functions

I
instrument-assertion: Private macros
instrument-assertion-1: Private ordinary functions

L
list-assertions: Public ordinary functions
list-testcases: Public ordinary functions

M
Macro, assert-condition: Public macros
Macro, define-assertion: Public macros
Macro, define-testcase: Public macros
Macro, float-comparison-threshold: Private macros
Macro, instrument-assertion: Private macros
make-report-string-comparison: Private ordinary functions
make-testcase-outcome: Private ordinary functions
make-testsuite-id: Private ordinary functions
Method, assertion-argument-names: Public generic functions
Method, assertion-argument-values: Public generic functions
Method, assertion-condition: Public generic functions
Method, assertion-description: Public generic functions
Method, assertion-form: Public generic functions
Method, assertion-name: Public generic functions
Method, assertion-path: Public generic functions
Method, assertion-type: Public generic functions
Method, describe-object: Public standalone methods
Method, print-object: Public standalone methods
Method, testcase-argument-values: Public generic functions
Method, testcase-condition: Public generic functions
Method, testcase-failure: Public generic functions
Method, testcase-name: Public generic functions
Method, testcase-outcome: Public generic functions
Method, testcase-path: Public generic functions
Method, testcase-success: Public generic functions
Method, testcase-total: Public generic functions

P
parse-assertion-forms: Private ordinary functions
print-export-list-for-testcases: Public ordinary functions
print-object: Public standalone methods

Q
quit: Public ordinary functions

R
random-string: Private ordinary functions
report-string-comparison/details: Private ordinary functions
report-string-comparison/unexpected-type: Private ordinary functions
run-testcase: Private ordinary functions

S
set-assertion-properties: Private ordinary functions
set-testcase-properties: Private ordinary functions
string-match: Private ordinary functions
stringcat: Private ordinary functions

T
testcase-argument-values: Public generic functions
testcase-argument-values: Public generic functions
testcase-break-into-the-debugger-on-errors: Public ordinary functions
testcase-condition: Public generic functions
testcase-condition: Public generic functions
testcase-failure: Public generic functions
testcase-failure: Public generic functions
testcase-name: Public generic functions
testcase-name: Public generic functions
testcase-outcome: Public generic functions
testcase-outcome: Public generic functions
testcase-outcome-pathname: Private ordinary functions
testcase-path: Public generic functions
testcase-path: Public generic functions
testcase-success: Public generic functions
testcase-success: Public generic functions
testcase-total: Public generic functions
testcase-total: Public generic functions


A.3 Variables

Jump to:   *  
A   C   D   F   N   O   P   S   T  
Index Entry  Section

*
*alphabet-base36*: Private special variables
*alphabet-base64*: Private special variables
*alphabet-hexadecimal*: Private special variables
*current-testcase-outcome*: Private special variables
*double-float-precision*: Public special variables
*last-testsuite-outcome*: Private special variables
*last-testsuite-result*: Private special variables
*single-float-precision*: Public special variables
*testcase-break-into-the-debugger-on-errors*: Public special variables
*testcase-describe-failed-assertions*: Public special variables
*testcase-interactive-p*: Public special variables
*testcase-path*: Private special variables
*testsuite-id*: Public special variables
*testsuite-name*: Public special variables

A
argument-names: Private conditions
argument-values: Public classes
argument-values: Private conditions

C
condition: Public conditions
condition: Public classes

D
description: Private conditions

F
failure: Public classes
form: Private conditions

N
name: Public classes
name: Private conditions

O
outcome: Private conditions

P
path: Public classes
path: Private conditions

S
Slot, argument-names: Private conditions
Slot, argument-values: Public classes
Slot, argument-values: Private conditions
Slot, condition: Public conditions
Slot, condition: Public classes
Slot, description: Private conditions
Slot, failure: Public classes
Slot, form: Private conditions
Slot, name: Public classes
Slot, name: Private conditions
Slot, outcome: Private conditions
Slot, path: Public classes
Slot, path: Private conditions
Slot, success: Public classes
Slot, total: Public classes
Slot, type: Private conditions
Special Variable, *alphabet-base36*: Private special variables
Special Variable, *alphabet-base64*: Private special variables
Special Variable, *alphabet-hexadecimal*: Private special variables
Special Variable, *current-testcase-outcome*: Private special variables
Special Variable, *double-float-precision*: Public special variables
Special Variable, *last-testsuite-outcome*: Private special variables
Special Variable, *last-testsuite-result*: Private special variables
Special Variable, *single-float-precision*: Public special variables
Special Variable, *testcase-break-into-the-debugger-on-errors*: Public special variables
Special Variable, *testcase-describe-failed-assertions*: Public special variables
Special Variable, *testcase-interactive-p*: Public special variables
Special Variable, *testcase-path*: Private special variables
Special Variable, *testsuite-id*: Public special variables
Special Variable, *testsuite-name*: Public special variables
success: Public classes

T
total: Public classes
type: Private conditions


A.4 Data types

Jump to:   A   C   E   F   M   O   P   R   S   T   U  
Index Entry  Section

A
assertion-condition: Public conditions
assertion-failure: Private conditions
assertion-outcome: Private conditions
assertion-skipped: Private conditions
assertion-success: Private conditions
assertion.lisp: The org․melusina․confidence/src/assertion․lisp file

C
Class, testcase-outcome: Public classes
Condition, assertion-condition: Public conditions
Condition, assertion-failure: Private conditions
Condition, assertion-outcome: Private conditions
Condition, assertion-skipped: Private conditions
Condition, assertion-success: Private conditions
Condition, testcase-end: Private conditions
confidence: The confidence package

E
entrypoint.lisp: The org․melusina․confidence/src/entrypoint․lisp file

F
File, assertion.lisp: The org․melusina․confidence/src/assertion․lisp file
File, entrypoint.lisp: The org․melusina․confidence/src/entrypoint․lisp file
File, org.melusina.confidence.asd: The org․melusina․confidence/org․melusina․confidence․asd file
File, package.lisp: The org․melusina․confidence/src/package․lisp file
File, result.lisp: The org․melusina․confidence/src/result․lisp file
File, testcase.lisp: The org․melusina․confidence/src/testcase․lisp file
File, utilities.lisp: The org․melusina․confidence/src/utilities․lisp file

M
Module, src: The org․melusina․confidence/src module

O
org.melusina.confidence: The org․melusina․confidence system
org.melusina.confidence.asd: The org․melusina․confidence/org․melusina․confidence․asd file

P
Package, confidence: The confidence package
package.lisp: The org․melusina․confidence/src/package․lisp file

R
result.lisp: The org․melusina․confidence/src/result․lisp file

S
src: The org․melusina․confidence/src module
System, org.melusina.confidence: The org․melusina․confidence system

T
testcase-end: Private conditions
testcase-outcome: Public classes
testcase.lisp: The org․melusina․confidence/src/testcase․lisp file

U
utilities.lisp: The org․melusina․confidence/src/utilities․lisp file