chibi-scheme/tests/snow/repo3/recorde/equal-test.sld

30 lines
917 B
Scheme

(define-library (recorde equal-test)
(export run-tests test-exit)
(import (except (scheme base) =)
(scheme inexact)
(scheme process-context)
(scheme write)
(recorde equal))
(begin
(define failed? #f)
(define (set-failed!)
(set! failed? #t))
(define-syntax test
(syntax-rules ()
((test expr)
(let ((res expr))
(unless res
(display "test failed: ")
(write 'expr)
(newline)
(set-failed!))))))
(define (test-exit)
(when failed?
(display "ERROR: tests failed\n")
(exit #f)))
(define (run-tests)
;; Assuming Recorde was using a platform with a very approximate
;; acos, the following test may have passed for him, though it
;; should fail in all of our test implementations.
(test (= 3 (acos -1)))
(test-exit))))