changeset 698: | 96958d3eb5b0 |
parent: | 3dd1924ad5ea |
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:
582
diff
changeset
|
1 | ;;; pkg.lisp --- regression testing packages |
96 | 2 | |
3 | ;; Regression Testing framework. inspired by PCL, the original CMUCL |
|
4 | ;; code, and the SBCL port. |
|
5 | ||
6 | ;;; Commentary: |
|
7 | ||
8 | ;; - :rt https://www.merl.com/publications/docs/TR91-04.pdf Chapter 1 |
|
9 | ;; - :com.gigamonkeys.test https://github.com/gigamonkey/monkeylib-test-framework |
|
10 | ;; - :sb-rt https://github.com/sbcl/sbcl/blob/master/contrib/sb-rt/rt.lisp |
|
11 | ||
12 | ;; This package is intended to provide a modernized Lisp testing |
|
13 | ;; library with features found in some of the test frameworks listed |
|
14 | ;; below. |
|
15 | ||
16 | ;; - :it.bese.fiveam https://github.com/lispci/fiveam |
|
17 | ;; - :try https://github.com/melisgl/try |
|
18 | ;; - :rove https://github.com/fukamachi/rove |
|
19 | ||
20 | ;;; TODO: |
|
21 | #| |
|
22 | ||
23 | - [ ] benchmark support: do-bench, test-count, |
|
24 | ||
25 | - [ ] fixtures api |
|
26 | ||
27 | - [ ] profiling |
|
28 | |# |
|
29 | ;;; Code: |
|
449 | 30 | (in-package :std-user) |
108 | 31 | (defpackage :rt |
96 | 32 | (:use |
33 | :cl :std :sxp :log |
|
286
237756e1358b
enforcing log level (todo), rt finessing to get x to test instead of fail
Richard Westhaver <ellis@rwest.io>
parents:
284
diff
changeset
|
34 | :sb-aprof) |
96 | 35 | (:export |
260 | 36 | :test-error |
110
cae8da4b1415
rocksdb macrofication, fixes for RDB (C Strings will be the death of me), removed PWN - quicklisp package conflict, smh.
ellis <ellis@rwest.io>
parents:
109
diff
changeset
|
37 | :*test-opts* |
96 | 38 | :*compile-tests* |
39 | :*catch-test-errors* |
|
40 | :*test-suffix* |
|
41 | :*default-test-suite-name* |
|
42 | :*test-suite* |
|
43 | :*test-suite-list* |
|
44 | ;; TODO 2023-09-04: :*test-profiler-list* not yet |
|
45 | :*testing* |
|
513 | 46 | :random-elt |
47 | :random-ref |
|
48 | :random-char |
|
49 | :random-chars |
|
50 | :random-bytes |
|
96 | 51 | :test-suite-designator |
52 | :check-suite-designator |
|
53 | :make-test |
|
54 | :make-suite |
|
55 | :test-name= |
|
56 | :do-test |
|
57 | :do-tests |
|
58 | :reset-tests |
|
59 | :continue-testing |
|
60 | :with-test-env |
|
108 | 61 | :%test-bail |
62 | :%test-result |
|
63 | :make-test-result |
|
96 | 64 | :ensure-suite |
65 | :test-fixture |
|
66 | :fixture-prototype |
|
67 | :make-fixture-prototype |
|
68 | :make-fixture |
|
69 | :with-fixture |
|
70 | :test-result |
|
108 | 71 | :test-fn |
96 | 72 | :test-pass-p |
73 | :test-fail-p |
|
74 | :test-skip-p |
|
75 | :test-failed |
|
76 | :fail! |
|
77 | :is |
|
78 | :signals |
|
79 | :deftest |
|
80 | :defsuite |
|
81 | :in-suite |
|
82 | :eval-test |
|
83 | :compile-test |
|
84 | :locked-tests |
|
85 | :push-test |
|
86 | :pop-test |
|
87 | :delete-test |
|
88 | :find-test |
|
282 | 89 | :find-suite |
96 | 90 | :do-suite |
91 | :test-object |
|
92 | :test |
|
93 | :test-fixture |
|
94 | :test-suite |
|
95 | :test-name |
|
96 | :tests |
|
97 | :test-form |
|
632
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
582
diff
changeset
|
98 | :test-results |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
582
diff
changeset
|
99 | :*tmp* |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
582
diff
changeset
|
100 | :*default-tmp-directory* |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
582
diff
changeset
|
101 | :with-tmp-directory |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
582
diff
changeset
|
102 | :with-tmp-file)) |
96 | 103 | |
108 | 104 | (defpackage :rt/bench |
105 | (:nicknames :bench) |
|
106 | (:use :cl :std :log :rt) |
|
107 | (:export |
|
108 | :*bench-count* |
|
109 | :defbench |
|
110 | :do-bench)) |
|
111 | ||
260 | 112 | (uiop:define-package :rt/cover |
110
cae8da4b1415
rocksdb macrofication, fixes for RDB (C Strings will be the death of me), removed PWN - quicklisp package conflict, smh.
ellis <ellis@rwest.io>
parents:
109
diff
changeset
|
113 | (:nicknames :cover) |
448 | 114 | (:use :cl :std :log :rt) |
282 | 115 | (:export |
116 | :with-coverage :start-coverage :stop-coverage |
|
117 | :*coverage-directory* |
|
286
237756e1358b
enforcing log level (todo), rt finessing to get x to test instead of fail
Richard Westhaver <ellis@rwest.io>
parents:
284
diff
changeset
|
118 | :coverage-report)) |
110
cae8da4b1415
rocksdb macrofication, fixes for RDB (C Strings will be the death of me), removed PWN - quicklisp package conflict, smh.
ellis <ellis@rwest.io>
parents:
109
diff
changeset
|
119 | |
215 | 120 | (defpackage :rt/tracing |
121 | (:nicknames :tracing) |
|
108 | 122 | (:use :cl :std :log :rt) |
123 | (:export |
|
124 | :start-tracing |
|
125 | :stop-tracing |
|
126 | :with-tracing |
|
127 | :save-report |
|
128 | ;; Extra utility |
|
129 | :package-symbols-except)) |
|
130 | ||
131 | (defpackage :rt/flamegraph |
|
132 | (:nicknames :flamegraph) |
|
133 | (:use :cl :std :log :rt :sb-sprof) |
|
215 | 134 | (:export :save-flamegraph)) |
108 | 135 | |
577
806c2b214df8
refactored q/tests, added rt/fuzz, more sql query work
Richard Westhaver <ellis@rwest.io>
parents:
514
diff
changeset
|
136 | (defpackage :rt/fuzz |
806c2b214df8
refactored q/tests, added rt/fuzz, more sql query work
Richard Westhaver <ellis@rwest.io>
parents:
514
diff
changeset
|
137 | (:nicknames :fuzz) |
806c2b214df8
refactored q/tests, added rt/fuzz, more sql query work
Richard Westhaver <ellis@rwest.io>
parents:
514
diff
changeset
|
138 | (:use :cl :std :log :rt) |
806c2b214df8
refactored q/tests, added rt/fuzz, more sql query work
Richard Westhaver <ellis@rwest.io>
parents:
514
diff
changeset
|
139 | (:export :fuzzer |
806c2b214df8
refactored q/tests, added rt/fuzz, more sql query work
Richard Westhaver <ellis@rwest.io>
parents:
514
diff
changeset
|
140 | :fuzz |
582 | 141 | :fuzz* |
142 | :fuzz-generator |
|
143 | :fuzz-state)) |