Added unit testing of LISP-UNIT to TODO list.
[lisp-unit.git] / TODO
blobfb204eaacf94c7d4172c44be064fbf92a1ada9ac
1 LISP-UNIT TODO
3 2009-03-16
5 (1) Update the documentation to reflect the floating point extensions
6 to the library. I've already updated some of the documentation, I just
7 need to crank this one out some night.
9 (2) Add unit testing for lisp-unit. I think the approach should be to
10 note some functions and macros as identities that have be verified or
11 are logically correct. All tests of lisp-unit should then be defined
12 in terms of the identity functions. Maybe a core set of functionality
13 should be verified using standard CL comparisons such as eq, eql, =,
14 etc.
16 (3) Better integrate the numeric diagnostic functions with the numeric
17 assertions. Currently, the VALUE and FORM argument of the assertion
18 must be repeated as arguments to the diagnostic function. The intent
19 is that you simply note the diagnostic function that you wish to apply
20 to the test in the event of a failure and the VALUE and FORM arguments
21 are automagically passed to that function.
23 (4) Improve the test report. Initially, it would be useful to only
24 specifically report the failures and otherwise just report the overall
25 summary. Other improvements might be some sort of progress indication,
26 like 'PPPPFPPPFFFP.......' where P is pass, F is fail and (.) is not
27 performed yet. Ideas here are welcome.
29 (5) Interactive correction of tests. Something along the lines of the
30 debugger, maybe actually using the debugger. I envision a work-flow
31 scenario where you run all of the tests and see X of Y tests
32 failed. Now you enter a form like
34   CL-USER> (lisp-unit:run-failed-tests :interactive t)
36 where the default for interactive is nil. Actually, this approach
37 could also satisfy the reporting requirements. Anyway, the first
38 failed test is executed reporting the results and you are provided a
39 prompt with some options. The options could be along the lines of
40 abort the testing, pick a diagnostic function to execute or re-run the
41 test. If the re-run the test option is chosen, it should be after
42 modifications to the definition of the test or the routine being
43 tested are made. The idea for this interactive correction feature is
44 to tighten the debug loop. Input on this idea is highly welcome.