unit tests update
This commit is contained in:
@@ -15,18 +15,33 @@
|
||||
(defun ut::define-test (name exp_list)
|
||||
(set! ut::tests_list (push ut::tests_list (list name exp_list))))
|
||||
|
||||
|
||||
(defun ut::exec-test (test_name code) (do
|
||||
(define test_result (eval code))
|
||||
(if (first test_result)
|
||||
(do (print (+ (term-green "OK") " -> " test_name))
|
||||
#t
|
||||
)
|
||||
(do (print (+ (term-red "ERR") " -> " test_name))
|
||||
(print " " (second test_result) " <> " (third test_result))
|
||||
nil
|
||||
))
|
||||
))
|
||||
|
||||
(defun ut::run-test (name)
|
||||
(for t ut::tests_list
|
||||
(if (= (first t) name)
|
||||
(ut::exec-test (first t) (second t)))
|
||||
))
|
||||
|
||||
(defun ut::run-tests () (do
|
||||
(define oks 0)
|
||||
(define errs 0)
|
||||
(for t ut::tests_list
|
||||
(define test_name (first t))
|
||||
(define test_result (eval (second t)))
|
||||
(if (index test_result 0)
|
||||
(do (set! oks (+ oks 1)) (print (+ (term-green "OK") " -> " test_name)))
|
||||
(do (set! errs (+ errs 1))
|
||||
(print (+ (term-red "ERR") " -> " test_name))
|
||||
(print " " (second test_result) " <> " (third test_result))
|
||||
))
|
||||
(if (ut::exec-test (first t) (second t))
|
||||
(set! oks (+ oks 1))
|
||||
(set! errs (+ errs 1))
|
||||
)
|
||||
)
|
||||
(if (= errs 0)
|
||||
(print (term-green (+ (string oks) " test(s) OK")))
|
||||
@@ -34,7 +49,6 @@
|
||||
))
|
||||
|
||||
(define ut::tests_list '())
|
||||
; TODO (run-test name)
|
||||
|
||||
|
||||
;; example of usage
|
||||
|
||||
Reference in New Issue
Block a user