changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/lib/rt/proto.lisp

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."))