(use "regex") (func testrunner () (testrunner "^test-")) (func testrunner (pattern :string) (def passed 0) (def total 0) (for-each (filter (lambda (x) (match? pattern x)) (map ->string (user-funcs))) (try (block ((first (parse-neb _item_))) (redef passed (+ 1 passed)) (write "." _stdout_)) (print (concat (->string _item_) " " _panic_))) (redef total (+ 1 total))) (print "\nResults: ") (print (concat " - Passed: " (->string passed))) (print (concat " - Total " (->string total) " (" (->string (if (eq? 0 total) 0 (* 100 (/ passed total)))) "%)")))