2 ok - in run-test
, we should catch errors
/ failures in test-setup and test-teardown too
3 ok~ - better warning and errors and restarts
4 ok - make interaction an option
(and don
't print stuff if compiling or loading
)
5 ok - add
*features
* check to not make tests
(NO-LIFT-TESTS)
6 ok - add counts to list-tests
7 ok~ - When working interactively
, bad tests get inserted and then it
's hard to
8 fix things. Maybe compile immediately and check for warnings
/ errors
9 with handler-case. A remove-test command
(but when is it invoked
)?
10 not - allow addtest to add multiple tests or add addtests
11 ok - downcase create test message
(per Westy
)
12 ok - need with-test or something like it
13 ok - need list-tests
(both names and classes
)
14 ok - remove initforms
, this lets us pretend that we
're in something like a let
*
15 ok I
'd like run-tests to not require any arguments
16 ok - allow for
:setup ... and
(:setup ...
)
17 ok - addtest can specify a test-suite
/ class
18 ok - allow
(:documentation for each test
), but where to put it
19 ok get rid of abstract-test
20 ok - interactive-test-switch
: when you add or define
, run the tests right then
21 ok - add code to optionally test all subclasses of a test class
22 deferred - better error message when there is no test name
23 ok - don
't require superclasses or slots
(if only one
, assume it
's slots unless
24 one of the putative slots is already a test-mixin subclass
)
25 ok - put initforms of test class into the setup automatically
(even if no
26 other setup is defined.
(maybe a
:before
)
27 ok - currently
, each addtest will add a new test-case with the same test but a
28 different name
, we need to save the text and compare. It would be somewhat
29 gross
, but we could sxhash the contents of the test for a mostly good fix.
30 ok - don
't allow two tests for the same class to have the same name
31 ok - addtest should redefine existing tests--maybe with a warning
32 ok - allow automatic naming but save code too so that it
's easy to see
34 ok - need to empty hash-tables in deftest before parsing the tests
35 ok - test-names must be keywords? Why is that again? Can we check and
37 ok - allow for export-p option
38 ok - cannot do
(addtest (ensure-warning (let ((x 0)) (print (/ 4 x
)))))
39 ok - how about
(remove-test [(class)] name
)
40 ok - tests that a form generates an error or a warning
41 ok - add
:test parameter to ensure-same
(and redo to get better messages
)
42 ok - addtest should handle verbose? too and print the full details of the
43 single problem
, if any
44 ~ - Add interactivity to make-sure-slots-are-not-superclasses
45 ok - If there are superclasses
, add all of their slots to the slot list too
46 ok - should redefining the superclass remove all methods of its subclasses?
47 (probably, could have slot dependencies
)
49 ok - refactor print-test-report
50 obsolete - handle errors and use restarts in make-sure-slots-are-not-superclasses
51 ok? - deftest
's defclass repeats initargs and accessors
52 ok - deftest
's defclass has slots in wrong order
53 ok - undeftest
==> remove-test
54 ok - use
*test-output
* as stream
55 ok - use dynamic scope for
*TEST-IS-BEING-DEFINED?
* rather than unwind-protect
56 obsolete - add
:evaluate option to ensure-same
57 obsolete - maybe ensure
= instead of ensure-same
58 ok - refactor ensure
, etc.
59 ok - get rid of
#FEATURE-CASE