unit tests update
This commit is contained in:
parent
3cc21b2814
commit
6055d02d89
|
|
@ -68,6 +68,8 @@ utils/local_install.sh
|
||||||
(read-url "https://api.nasdaq.com/api/calendar/dividends/") ; hangs in sslclient.cpp line 132
|
(read-url "https://api.nasdaq.com/api/calendar/dividends/") ; hangs in sslclient.cpp line 132
|
||||||
|
|
||||||
### TODO
|
### TODO
|
||||||
|
- better formating of help
|
||||||
|
- unify -f and -run options
|
||||||
- add debug support, at least call stack
|
- add debug support, at least call stack
|
||||||
- multiline editing (see kilocpp editor)
|
- multiline editing (see kilocpp editor)
|
||||||
- execute system command should capture stderr
|
- execute system command should capture stderr
|
||||||
|
|
|
||||||
|
|
@ -15,18 +15,33 @@
|
||||||
(defun ut::define-test (name exp_list)
|
(defun ut::define-test (name exp_list)
|
||||||
(set! ut::tests_list (push ut::tests_list (list 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
|
(defun ut::run-tests () (do
|
||||||
(define oks 0)
|
(define oks 0)
|
||||||
(define errs 0)
|
(define errs 0)
|
||||||
(for t ut::tests_list
|
(for t ut::tests_list
|
||||||
(define test_name (first t))
|
(if (ut::exec-test (first t) (second t))
|
||||||
(define test_result (eval (second t)))
|
(set! oks (+ oks 1))
|
||||||
(if (index test_result 0)
|
(set! errs (+ errs 1))
|
||||||
(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 (= errs 0)
|
(if (= errs 0)
|
||||||
(print (term-green (+ (string oks) " test(s) OK")))
|
(print (term-green (+ (string oks) " test(s) OK")))
|
||||||
|
|
@ -34,7 +49,6 @@
|
||||||
))
|
))
|
||||||
|
|
||||||
(define ut::tests_list '())
|
(define ut::tests_list '())
|
||||||
; TODO (run-test name)
|
|
||||||
|
|
||||||
|
|
||||||
;; example of usage
|
;; example of usage
|
||||||
|
|
|
||||||
|
|
@ -138,11 +138,11 @@
|
||||||
|
|
||||||
(ut::define-test "result of create table" '(ut::assert-equal ((0 "table created" 0)) (usql "create table a (i integer not null, s varchar(64), f float null, d date null, b boolean)")))
|
(ut::define-test "result of create table" '(ut::assert-equal ((0 "table created" 0)) (usql "create table a (i integer not null, s varchar(64), f float null, d date null, b boolean)")))
|
||||||
|
|
||||||
(ut::define-test "result tcp-client" '(ut::assert-equal "(print \"ABCD\")" (tcp-client "127.0.0.1" 7778 "abcd")))
|
(ut::define-test "result of (tcp-client \"abcd\")" '(ut::assert-equal "(print \"ABCD\")" (tcp-client "127.0.0.1" 7778 "abcd")))
|
||||||
|
|
||||||
(ut::define-test "result t(find-val-in-list \"a\")" '(ut::assert-equal '("av" "avv") (find-val-in-list fvil_list "a")))
|
(ut::define-test "result of (find-val-in-list \"a\")" '(ut::assert-equal '("av" "avv") (find-val-in-list fvil_list "a")))
|
||||||
(ut::define-test "result t(find-val-in-list \"b\")" '(ut::assert-equal "bv" (find-val-in-list fvil_list "b")))
|
(ut::define-test "result of (find-val-in-list \"b\")" '(ut::assert-equal "bv" (find-val-in-list fvil_list "b")))
|
||||||
(ut::define-test "result t(find-val-in-list 31)" '(ut::assert-equal 32 (find-val-in-list fvil_list 31)))
|
(ut::define-test "result of (find-val-in-list 31)" '(ut::assert-equal 32 (find-val-in-list fvil_list 31)))
|
||||||
|
|
||||||
(ut::define-test "result of (max (10 9 8 7 6 5 4 3 2 1))" '(ut::assert-equal 10 (max '(10 9 8 7 6 5 4 3 2 1))))
|
(ut::define-test "result of (max (10 9 8 7 6 5 4 3 2 1))" '(ut::assert-equal 10 (max '(10 9 8 7 6 5 4 3 2 1))))
|
||||||
(ut::define-test "result of (max ())" '(ut::assert-equal nil (max '())))
|
(ut::define-test "result of (max ())" '(ut::assert-equal nil (max '())))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue