testing: provide deftest macro, show suite and test names

This commit is contained in:
Helmut Merz 2024-05-20 17:24:24 +02:00
parent 778409a842
commit 53a61b660b
2 changed files with 15 additions and 7 deletions

View file

@ -22,13 +22,13 @@
(defun run-sqlite ()
(load "test/config-sqlite")
(let ((storage:*db-config* *db-config-test*)
(t:*test-suite* (t:test-suite "test-sqlite")))
(t:*test-suite* (t:test-suite "sqlite")))
(run)))
(defun run-postgres ()
(load "test/config-postgres")
(let ((storage:*db-config* *db-config-test*)
(t:*test-suite* (t:test-suite)))
(t:*test-suite* (t:test-suite "postgres")))
(run)))
(defun run ()
@ -38,7 +38,7 @@
(test-track st)
(t:show-result)))
(defun test-track (st)
(t:deftest test-track (st)
(let (cont tr tr2 (data (make-hash-table)))
(setf cont (make-instance 'tracking:container :storage st))
(defparameter cl-user::*cont cont)

View file

@ -5,8 +5,8 @@
(defpackage :scopes/testing
(:use :common-lisp)
(:export #:*test-suite*
#:test-suite #:show-result
#:==))
#:test-suite #:deftest #:show-result
#:test #:==))
(in-package :scopes/testing)
@ -20,7 +20,15 @@
(make-instance 'test-suite :name name))
(defun show-result ()
(format t "~a, result: ~a~%" (name *test-suite*) (result *test-suite*)))
(format t "~a~%" (name *test-suite*) )
(dolist (res (result *test-suite*))
(let ((tst (reverse res)))
(format t "~a: ~a~%" (string-downcase (car tst)) (cdr tst)))))
(defun == (have wanted)
(push (equalp have wanted) (result *test-suite*)))
(push (equalp have wanted) (car (result *test-suite*))))
(defmacro deftest (name args &body body)
`(defun ,name ,args
(push '(,name) (result *test-suite*))
,@body))