racket/collects/tests/macro-debugger/all-tests.rkt
2011-09-20 14:49:50 -06:00

70 lines
1.8 KiB
Racket

#lang racket/base
(require racket/cmdline
rackunit
rackunit/text-ui
macro-debugger/model/debug
"gentest-framework.rkt"
"gentests.rkt"
"test-setup.rkt"
"tests/syntax-basic.rkt"
"tests/syntax-macros.rkt"
"tests/syntax-modules.rkt"
"tests/syntax-errors.rkt"
"tests/hiding.rkt"
"tests/regression.rkt"
"tests/policy.rkt"
"tests/collects.rkt")
(provide all-tests)
(define protos
(list proto:kernel-forms
proto:kernel-contexts
proto:macros
proto:modules
proto:errors))
(define deriv-test (mk-deriv-test protos))
(define steps-test (mk-steps-test protos))
(define hiding-deriv-test (mk-hidden-deriv-test protos))
(define hiding-steps-test (mk-hidden-steps-test protos))
(provide deriv-test
steps-test
hiding-deriv-test
hiding-steps-test)
(define all-tests
(test-suite "All tests"
deriv-test
steps-test
hiding-deriv-test
hiding-steps-test
specialized-hiding-tests
regression-tests
policy-tests))
(define-syntax-rule (with-namespace expr)
(parameterize ((current-namespace (make-base-namespace)))
expr))
;; ----
(define test-mode #f)
(define collects-tests? #f)
(command-line
#:once-each
[("--text") "Run tests in RackUnit text UI" (set! test-mode 'text)]
[("--gui") "Run tests in RackUnit GUI" (set! test-mode 'gui)]
[("--collects") "Include collects tests" (set! collects-tests? #t)]
#:args ()
(let* ([tests (cons all-tests (if collects-tests? (list collects-tests) null))])
(case test-mode
((text)
(with-namespace
(for-each run-tests tests)))
((gui)
(let ([test/gui (dynamic-require 'rackunit/gui 'test/gui)])
(with-namespace
(apply test/gui #:wait? #t tests)))))))