The testbild Reference Manual

This is the testbild Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:04:26 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 testbild

Universal test output production and consumption facility

Author

Alexander Kahl <>

License

GPLv3+

Version

0.0.1

Dependencies
  • graylex (system).
  • cl-ppcre (system).
Source

testbild.asd.

Child Component

src (module).


3 Modules

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


3.1 testbild/src

Source

testbild.asd.

Parent Component

testbild (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 testbild/testbild.asd

Source

testbild.asd.

Parent Component

testbild (system).

ASDF Systems

testbild.

Packages

testbild-system.


4.1.2 testbild/src/package.lisp

Source

testbild.asd.

Parent Component

src (module).

Packages

testbild.


4.1.3 testbild/src/producer.lisp

Dependency

package.lisp (file).

Source

testbild.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.4 testbild/src/tap.lisp

Dependencies
Source

testbild.asd.

Parent Component

src (module).

Public Interface

4.1.5 testbild/src/x-unit.lisp

Dependencies
Source

testbild.asd.

Parent Component

src (module).

Public Interface

5 Packages

Packages are listed by definition order.


5.1 testbild-system

Source

testbild.asd.

Use List
  • asdf/interface.
  • common-lisp.

5.2 testbild

Source

package.lisp.

Use List
  • common-lisp.
  • graylex.
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 Generic functions

Generic Function: emit-bailout (producer &optional reason)

Emit a bail-out, if available for this kind of producer.

Package

testbild.

Source

producer.lisp.

Methods
Method: emit-bailout (producer &optional reason)
Generic Function: emit-comment (producer comment)

Emit a comment, if available for this kind of producer.

Package

testbild.

Source

producer.lisp.

Methods
Method: emit-comment ((producer x-unit-producer) comment)

emit-comment producer comment => nil

xUnit has no support for comments so we use STDERR.

Source

x-unit.lisp.

Method: emit-comment ((producer tap-producer) comment)

emit-comment producer comment => comment-list

TAP comments are delimited by hash marks and EOLs so COMMENT is split by all known EOL delimiter combinations and output with a hash mark in front each.

Source

tap.lisp.

Method: emit-comment (producer comment)
Generic Function: emit-plan (producer &key plan plan-argument &allow-other-keys)

A so-called test plan is used e.g. by TAP as a means of cross-checking proper test suite execution.

Package

testbild.

Source

producer.lisp.

Methods
Method: emit-plan ((producer tap-producer) &key plan plan-argument &allow-other-keys)

emit-plan producer &key (plan :simple) plan-argument => nil

TAP plans can be of type :SIMPLE or :SKIP, the latter means to skip all tests within the suite.

Source

tap.lisp.

Method: emit-plan :before ((producer tap-producer) &key plan plan-argument)

emit-plan :before producer &key plan plan-argument => nil

TAP test plans must always begin at the beginning of a line and start with "1..".

Source

tap.lisp.

Method: emit-plan (producer &key plan plan-argument &allow-other-keys)
Generic Function: emit-result (producer &key success description directive reason &allow-other-keys)

Emit the result from running an test / an assertion.

Package

testbild.

Source

producer.lisp.

Methods
Method: emit-result ((producer x-unit-producer) &key success description directive reason &allow-other-keys)

emit-result producer &key (success t) description directive reason &allow-other-keys => nil

xUnit output consists of single characters per assertion.

Source

x-unit.lisp.

Method: emit-result :before ((producer x-unit-producer) &key success description directive reason &allow-other-keys)

emit-result :before producer &key success description directive reason &allow-other-keys => nil

Ensure output proceeds on a fresh line after FILL-COLUMN test assertions, if set.

Source

x-unit.lisp.

Method: emit-result ((producer tap-producer) &key success description directive reason &allow-other-keys)

emit-result producer &key (success t) description directive reason &allow-other-keys => nil

TAP style test result emitter. DIRECTIVE types :TODO and :SKIP are supported,
:error is ignored.

Source

tap.lisp.

Method: emit-result :before ((producer tap-producer) &key success description directive reason &allow-other-keys)

emit-result :before producer &key success description directive reason &allow-other-keys => nil

TAP test results must always begin at the beginning of a line.

Source

tap.lisp.

Method: emit-result :before ((producer producer) &key success description directive reason &allow-other-keys)

emit-result :before producer &key success description directive reason &allow-other-keys => number

Increase the recorded number of tests by one.

Generic Function: finalize-test (producer)

Emit final test output.

Package

testbild.

Source

producer.lisp.

Methods
Method: finalize-test ((producer x-unit-producer))

finalize-test producer => nil

xUnit output always ends with a line feed.

Source

x-unit.lisp.

Method: finalize-test (producer)
Generic Function: init-test (producer)

Test initialization / header output.

Package

testbild.

Source

producer.lisp.

Methods
Method: init-test ((producer x-unit-producer))

init-test producer => nil

xUnit output always starts on a fresh line.

Source

x-unit.lisp.

Method: init-test ((producer tap-producer))

init-test producer => nil

TAP version 13 and higher supports an optional version line in the header.

Source

tap.lisp.

Method: init-test (producer)
Generic Reader: producer-fill-column (object)
Package

testbild.

Methods
Reader Method: producer-fill-column ((x-unit-producer x-unit-producer))

Line feeds will be inserted after FILL-COLUMN characters if set.

Source

x-unit.lisp.

Target Slot

fill-column.

Generic Reader: supported-tap-versions (object)
Package

testbild.

Methods
Reader Method: supported-tap-versions ((tap-producer tap-producer))

List of supported TAP versions.

Source

tap.lisp.

Target Slot

supported-versions.

Generic Reader: tap-version (object)
Package

testbild.

Methods
Reader Method: tap-version ((tap-producer tap-producer))

TAP output version.

Source

tap.lisp.

Target Slot

version.

Generic Reader: tests-run (object)
Generic Writer: (setf tests-run) (object)
Package

testbild.

Methods
Reader Method: tests-run ((producer producer))
Writer Method: (setf tests-run) ((producer producer))

Recorded number of test results emitted using this producer.

Source

producer.lisp.

Target Slot

tests-run.


6.1.2 Standalone methods

Method: reinitialize-instance :after ((producer producer) &rest initargs &key &allow-other-keys)

reinitialize-instance :after producer &rest initargs &key &allow-other-keys => 0

Reset the recorded number of tests run to zero.

Source

producer.lisp.

Method: shared-initialize :after ((producer tap-producer) slot-names &rest initargs &key &allow-other-keys)

shared-initialize :after producer slot-names &rest initargs &key &allow-other-keys => nil

Ensure the chosen TAP version is actually supported by TAP-PRODUCER.

Source

tap.lisp.


6.1.3 Classes

Class: producer

Base class for test output producers.

Package

testbild.

Source

producer.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: stream

Stream to use for test output

Package

common-lisp.

Initform

*standard-output*

Initargs

:stream

Readers

test-producer-stream.

Writers

(setf test-producer-stream).

Slot: tests-run

Recorded number of test results emitted using this producer.

Initform

0

Readers

tests-run.

Writers

(setf tests-run).

Class: tap-producer

Producer for TAP (Test Anything Protocol) output.

Package

testbild.

Source

tap.lisp.

Direct superclasses

producer.

Direct methods
Direct slots
Slot: version

TAP output version.

Initform

13

Initargs

:version

Readers

tap-version.

Writers

This slot is read-only.

Slot: supported-versions

List of supported TAP versions.

Allocation

:class

Initform

(quote (12 13))

Readers

supported-tap-versions.

Writers

This slot is read-only.

Class: x-unit-producer

Producer for xUnit style test output.

Package

testbild.

Source

x-unit.lisp.

Direct superclasses

producer.

Direct methods
Direct slots
Slot: fill-column

Line feeds will be inserted after FILL-COLUMN characters if set.

Initargs

:fill-column

Readers

producer-fill-column.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Generic functions

Generic Reader: test-producer-stream (object)
Generic Writer: (setf test-producer-stream) (object)
Package

testbild.

Methods
Reader Method: test-producer-stream ((producer producer))
Writer Method: (setf test-producer-stream) ((producer producer))

Stream to use for test output

Source

producer.lisp.

Target Slot

stream.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
E   F   G   I   M   P   R   S   T  
Index Entry  Section

(
(setf test-producer-stream): Private generic functions
(setf test-producer-stream): Private generic functions
(setf tests-run): Public generic functions
(setf tests-run): Public generic functions

E
emit-bailout: Public generic functions
emit-bailout: Public generic functions
emit-comment: Public generic functions
emit-comment: Public generic functions
emit-comment: Public generic functions
emit-comment: Public generic functions
emit-plan: Public generic functions
emit-plan: Public generic functions
emit-plan: Public generic functions
emit-plan: Public generic functions
emit-result: Public generic functions
emit-result: Public generic functions
emit-result: Public generic functions
emit-result: Public generic functions
emit-result: Public generic functions
emit-result: Public generic functions

F
finalize-test: Public generic functions
finalize-test: Public generic functions
finalize-test: Public generic functions

G
Generic Function, (setf test-producer-stream): Private generic functions
Generic Function, (setf tests-run): Public generic functions
Generic Function, emit-bailout: Public generic functions
Generic Function, emit-comment: Public generic functions
Generic Function, emit-plan: Public generic functions
Generic Function, emit-result: Public generic functions
Generic Function, finalize-test: Public generic functions
Generic Function, init-test: Public generic functions
Generic Function, producer-fill-column: Public generic functions
Generic Function, supported-tap-versions: Public generic functions
Generic Function, tap-version: Public generic functions
Generic Function, test-producer-stream: Private generic functions
Generic Function, tests-run: Public generic functions

I
init-test: Public generic functions
init-test: Public generic functions
init-test: Public generic functions
init-test: Public generic functions

M
Method, (setf test-producer-stream): Private generic functions
Method, (setf tests-run): Public generic functions
Method, emit-bailout: Public generic functions
Method, emit-comment: Public generic functions
Method, emit-comment: Public generic functions
Method, emit-comment: Public generic functions
Method, emit-plan: Public generic functions
Method, emit-plan: Public generic functions
Method, emit-plan: Public generic functions
Method, emit-result: Public generic functions
Method, emit-result: Public generic functions
Method, emit-result: Public generic functions
Method, emit-result: Public generic functions
Method, emit-result: Public generic functions
Method, finalize-test: Public generic functions
Method, finalize-test: Public generic functions
Method, init-test: Public generic functions
Method, init-test: Public generic functions
Method, init-test: Public generic functions
Method, producer-fill-column: Public generic functions
Method, reinitialize-instance: Public standalone methods
Method, shared-initialize: Public standalone methods
Method, supported-tap-versions: Public generic functions
Method, tap-version: Public generic functions
Method, test-producer-stream: Private generic functions
Method, tests-run: Public generic functions

P
producer-fill-column: Public generic functions
producer-fill-column: Public generic functions

R
reinitialize-instance: Public standalone methods

S
shared-initialize: Public standalone methods
supported-tap-versions: Public generic functions
supported-tap-versions: Public generic functions

T
tap-version: Public generic functions
tap-version: Public generic functions
test-producer-stream: Private generic functions
test-producer-stream: Private generic functions
tests-run: Public generic functions
tests-run: Public generic functions