racket/collects/redex/tests/run-tests.rkt
Burke Fetscher cf9b0f774b Change define-relation to compile to a judgment-form, instead of a metafunction.
Also:
- remove the restriction on the use of unquote in define-judgment-form
- allows limited use (I modes only) of judgment-forms in terms
- allows the use of define-relation with the search/unification
  based random term generation
2012-11-29 17:17:34 -06:00

77 lines
2.1 KiB
Racket

#lang racket/base
;; require this file to run all of the test suites for redex.
(require racket/runtime-path
racket/cmdline
racket/match
"test-util.rkt"
"bitmap-test-util.rkt")
(define test-examples? #f)
(command-line
#:once-each
[("--no-bitmap-gui") "skips the GUI for bitmap-test.rkt" (show-bitmap-test-gui? #f)]
[("--examples") "executes the tests in the examples directory" (set! test-examples? #t)])
(define test-files
(append
'("lw-test.rkt"
"matcher-test.rkt"
"rewrite-side-condition-test.rkt"
"unify-tests.rkt"
"tl-test.rkt"
"term-test.rkt"
"rg-test.rkt"
"gen-test.rkt"
"keyword-macros-test.rkt"
"core-layout-test.rkt"
"pict-test.rkt"
"hole-test.rkt"
"stepper-test.rkt"
"defined-checks-test.rkt"
"check-syntax-test.rkt"
"test-docs-complete.rkt"
"tut-subst-test.rkt"
"bitmap-test.rkt")
(if test-examples?
'("../examples/cbn-letrec.rkt"
"../examples/stlc.rkt"
"../examples/pi-calculus.rkt"
"../examples/list-machine/test.rkt"
("../examples/beginner.rkt" main)
"../examples/racket-machine/reduction-test.rkt"
"../examples/racket-machine/verification-test.rkt"
"../examples/delim-cont/test.rkt"
"../examples/cont-mark-transform/all-test.rkt"
("../examples/r6rs/r6rs-tests.rkt" main))
'())))
(define-runtime-path here ".")
(define (flush)
;; these flushes are here for running under cygwin,
;; which somehow makes mzscheme think it isn't using
;; an interative port
(flush-output (current-error-port))
(flush-output (current-output-port)))
(for-each
(λ (test-file)
(let-values ([(file provided action)
(match test-file
[(list (? string? file) id)
(values file id (λ (x) (x)))]
[(? string?)
(values test-file #f values)])])
(flush)
(printf "running ~a\n" file)
(flush)
(action (dynamic-require (build-path here file) provided))
(flush)))
test-files)
(printf "\nWARNING: didn't run color-test.rkt\n")
(flush)