Start tracking the listing module.

This commit is contained in:
Dominik Pantůček 2023-03-13 19:30:59 +01:00
parent 0d1b429e04
commit b026949266
2 changed files with 99 additions and 1 deletions

View file

@ -22,7 +22,7 @@
;;
(module
testing
(test-eq? test-equal? test-exn run-tests)
(test-eq? test-equal? test-exn test-true test-false run-tests)
(import scheme
(chicken condition))
@ -59,6 +59,28 @@
(error 'test-equal? (sprintf "~A expression=~S expected-result=~S result=~S"
'name 'expression expected-result result)))))))
;; Test passes if the expression evaluates to #t, raises exception
;; otherwise.
(define-syntax test-true
(syntax-rules ()
((_ name expression)
(let ((result expression))
(if (eq? result #t)
(display ".")
(error 'test-true (sprintf "~A expression=~S result=~S"
'name 'expression result)))))))
;; Test passes if the expression evaluates to #f, raises exception
;; otherwise.
(define-syntax test-false
(syntax-rules ()
((_ name expression)
(let ((result expression))
(if (eq? result #f)
(display ".")
(error 'test-true (sprintf "~A expression=~S result=~S"
'name 'expression result)))))))
;; Passes if the-test raises an exception
(define-syntax test-exn
(syntax-rules ()