racket/collects/tests/plai/test.ss
Matthew Flatt bc105baff0 better testing
svn: r790
2005-09-07 21:22:38 +00:00

31 lines
941 B
Scheme

(define (run-one-test lang src mod-only?)
(printf "Trying ~a ~a\n" lang src)
(let ([prog (with-input-from-file src
(lambda ()
(let loop ()
(let ([v (read)])
(if (eof-object? v)
null
(cons v (loop)))))))])
(parameterize ([current-namespace (make-namespace)])
(eval `(module m (lib ,lang "plai")
,@prog))
(eval `(require m)))
(unless mod-only?
(let ([n (current-namespace)])
(parameterize ([current-namespace (make-namespace 'empty)])
(namespace-attach-module n 'mzscheme)
(namespace-require `(lib ,lang "plai"))
(for-each (lambda (v) (printf "~e\n" (eval v))) prog))))))
(run-one-test "plai-beginner.ss" "arith-interp.scm" #t)
(run-one-test "plai-intermediate.ss" "arith-interp.scm" #f)
(for-each (lambda (src)
(run-one-test "plai-advanced.ss" src #f))
'("all.scm"
"arith-interp.scm"
"hof-env-buggy.scm"
"hof-subst.scm"
"subst.scm"))