diff --git a/collects/tests/typed-scheme/main.rkt b/collects/tests/typed-scheme/main.rkt index 885ccedc..76124502 100644 --- a/collects/tests/typed-scheme/main.rkt +++ b/collects/tests/typed-scheme/main.rkt @@ -120,7 +120,9 @@ [(equal? dir "succeed/") (lambda (p thnk) (check-not-exn thnk))] [(equal? dir "optimizer/tests/") - (lambda (p* thnk) (test-opt p))]))) + (lambda (p* thnk) (test-opt p))] + [(equal? dir "optimizer/close-calls/") + (lambda (p* thnk) (test-close-call p))]))) (test-suite (path->string p) (f @@ -139,4 +141,4 @@ (provide go go/text just-one int-tests unit-tests compile-benchmarks - optimization-tests) + optimization-tests close-call-tests) diff --git a/collects/tests/typed-scheme/optimizer/run.rkt b/collects/tests/typed-scheme/optimizer/run.rkt index 59763d6d..18c4dded 100644 --- a/collects/tests/typed-scheme/optimizer/run.rkt +++ b/collects/tests/typed-scheme/optimizer/run.rkt @@ -2,7 +2,8 @@ (require racket/runtime-path rackunit rackunit/text-ui) -(provide optimization-tests test-opt) +(provide optimization-tests close-call-tests + test-opt test-close-call) (define (generate-log name dir flags) ;; some tests require other tests, so some fiddling is required @@ -38,10 +39,13 @@ (define-runtime-path tests-dir "./tests") +(define-runtime-path close-calls-dir "./close-calls") ;; these two return lists of tests to be run for that category of tests (define (test-opt name) (list (compare-logs name tests-dir '#("--log-optimizations")))) +(define (test-close-call name) + (list (compare-logs name close-calls-dir '#("--log-close-calls")))) ;; proc returns the list of tests to be run on each file (define (mk-suite suite-name dir proc) @@ -57,3 +61,5 @@ (define optimization-tests (mk-suite "Optimization Tests" tests-dir test-opt)) +(define close-call-tests + (mk-suite "Close Call Tests" close-calls-dir test-close-call)) diff --git a/collects/tests/typed-scheme/run.rkt b/collects/tests/typed-scheme/run.rkt index bd532029..9e91be23 100644 --- a/collects/tests/typed-scheme/run.rkt +++ b/collects/tests/typed-scheme/run.rkt @@ -8,6 +8,7 @@ (define unit? (make-parameter #f)) (define int? (make-parameter #f)) (define opt? (make-parameter #f)) +(define close-calls? (make-parameter #f)) (define bench? (make-parameter #f)) (define single (make-parameter #f)) (current-namespace (make-base-namespace)) @@ -16,10 +17,11 @@ ["--unit" "run the unit tests" (unit? #t)] ["--int" "run the integration tests" (int? #t)] ["--opt" "run the optimization tests" (opt? #t)] + ["--close-calls" "run the close call tests" (close-calls? #t)] ["--benchmarks" "compile the typed benchmarks" (bench? #t)] ["--just" path "run only this test" (single (just-one path))] ["--nightly" "for the nightly builds" (begin (nightly? #t) (unit? #t) (opt? #t))] - ["--all" "run all tests" (begin (unit? #t) (int? #t) (opt? #t) (bench? #t))] + ["--all" "run all tests" (begin (unit? #t) (int? #t) (opt? #t) (close-calls? #t) (bench? #t))] ["--gui" "run using the gui" (if (gui-available?) (begin (exec go)) @@ -34,6 +36,7 @@ (append (if (unit?) (list unit-tests) '()) (if (int?) (list int-tests) '()) (if (opt?) (list optimization-tests) '()) + (if (close-calls?) (list close-call-tests) '()) (if (bench?) (list (compile-benchmarks)) '())))])]) (unless (= 0 ((exec) to-run)) (eprintf "Typed Racket Tests did not pass.\n"))))