]Time-stamp: <05/01/18 09:34:19 nhw> SchemeUnit Proposed Changes: 2.0 [DONE] Allow assertions to record arbitrary information about failure. This has already been implemented in 2.0 alpha 1. Breaks compatability with 1.x [DONE] Add setup and teardown actions for test-suites. Maybe via keyword arguments. May break compatability with 1.x [DONE] Update GUI for 208. Release as PlaneT modules in addition to Schematics website [DONE] Add require/expose macro, aka glassbox testing. By "Richard C. Cobbe" ;; Requires a module and exposes some of its unprovided (non-syntax!) ;; identifiers. ;; USAGE: (require/expose MODULE-NAME (IDS ...)) ;; where MODULE-NAME is as in the MzScheme manual (i.e., a standard ;; module spec) and IDS are the un-provided identifiers that you wish to ;; expose in the current module. ;; Based on a macro by Raymond Racine (rracine at adelphia dot net) posted to ;; plt-scheme in Dec 2003. (define-syntax require/expose (syntax-rules () [(_ mod (ids ...)) (begin (require mod) (define-values (ids ...) (let ([ns (module->namespace 'mod)]) (parameterize ([current-namespace ns]) (values (namespace-variable-value 'ids)...)))))])) [DONE as far as possible] If possible improve text-ui to display backtraces and additional information [DONE] Add Emacs compatible output from the text-ui [DONE] Miscellaneous additional assertions: - assert-regexp-match - assert-not-false [DONE] Miscellaneous additional macros: - (make-test-suite* suite-name (case-name case-body) ...) to reduce typing for the common case of (make-test-suite suite-name (make-test-case case-name-0 case-body-0) (make-test-case case-name-1 case-body-1)) [DONE] Implement fold-tds, ala SSAX, for test-suites. This will allow more flexible traversal of test suites, and in turn more flexible reporting options [DONE] Fix documentation typos [DONE] Make test/text-ui write not display arguments [DONE Can't see a way of improving this] Better location tracking -- make assertions grab their own location 2.1 Port to PLT v299, SISC, Scheme48 and maybe R5RS. Document foldts, run-test, run-test-case, fold-test-results 2.2 Provide more flexible reporting options: - timing information - log to disk Print ancestor suites on failure in text-ui Alter make-test-suite* to take setup and teardown actions. Improve error handling of setup and teardown actions: - fold-test-results should catch suite setup and teardown failures and halt execution of the subtree. - make-test-case should provide better location information Make tests fail unless they explicitly succeed. This may break compatability. 2.? Additional add-on libraries: - web testing (I have an existing incomplete framework) - WebIt! (ditto) - user contributions Redevelop GUI and/or integrate w/ PLT's tool