changeset 698: | 96958d3eb5b0 |
parent: | bbd9024f2fe2 |
author: | Richard Westhaver <ellis@rwest.io> |
date: | Fri, 04 Oct 2024 22:04:59 -0400 |
permissions: | -rw-r--r-- |
description: | fixes |
632
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
1 | ;;; proto.lisp --- Test Protocols |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
2 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
3 | ;; |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
4 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
5 | ;;; Code: |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
6 | (in-package :rt) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
7 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
8 | (defgeneric eval-test (self) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
9 | (:documentation "Eval a `test'.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
10 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
11 | (defgeneric compile-test (self &key &allow-other-keys) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
12 | (:documentation "Compile a `test'.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
13 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
14 | (defgeneric locked-tests (self) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
15 | (:documentation "Return a list of locked tests in `test-suite' object SELF.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
16 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
17 | (defgeneric push-test (self place) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
18 | (:documentation |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
19 | "Push `test' SELF to the value of slot ':tests' in `test-suite' object PLACE.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
20 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
21 | (defgeneric pop-test (self) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
22 | (:documentation |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
23 | "Pop the first `test' from the slot-value of ':tests' in `test-suite' object SELF.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
24 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
25 | (defgeneric push-result (self place) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
26 | (:documentation |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
27 | "Push object SELF to the value of slot ':results' in object PLACE.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
28 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
29 | (defgeneric pop-result (self) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
30 | (:documentation |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
31 | "Pop the first `test-result' from the slot-value of ':tests' from object SELF.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
32 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
33 | (defgeneric push-fixture (self place) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
34 | (:documentation |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
35 | "Push object SELF to the value of slot ':results' in object PLACE.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
36 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
37 | (defgeneric delete-test (self &key &allow-other-keys) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
38 | (:documentation "Delete `test' object specified by `test-object' SELF and optional keys.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
39 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
40 | (defgeneric find-test (self name &key &allow-other-keys) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
41 | (:documentation "Find `test' object specified by name and optional keys.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
42 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
43 | (defgeneric do-test (self &optional context) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
44 | (:documentation "Run test SELF, printing results to *standard-output*. The second |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
45 | argument is an optional fixture. |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
46 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
47 | SELF can also be a `test-suite', in which case the TESTS slot is |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
48 | queried for the value of TEST. If TEST is not provided, pops the car |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
49 | from TESTS.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
50 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
51 | (defgeneric do-suite (self &key &allow-other-keys) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
52 | (:documentation |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
53 | "Perform actions on `test-suite' object SELF with optional keys.")) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
54 | |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
55 | (defgeneric make-fixture (kind &rest args &key &allow-other-keys) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
56 | (:documentation |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
diff
changeset
|
57 | "Make a FIXTURE object with optional init ARGS.")) |