From 1ddfb446c2d40e953618ab9b066f631fc918af72 Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Tue, 8 Oct 2013 22:26:13 -0700 Subject: [PATCH] Make special env typecheck tests not run the code at module initialization. original commit: 4e42a328e30ac34fb99654099335c7c8878ab05d --- .../typed-racket/unit-tests/all-tests.rkt | 6 ++---- .../unit-tests/special-env-typecheck-tests.rkt | 18 +++++++++++------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/all-tests.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/all-tests.rkt index a9db917a..b459bdbd 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/all-tests.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/all-tests.rkt @@ -12,23 +12,21 @@ "infer-tests.rkt" ;; pass "type-annotation-test.rkt" ;; pass "keyword-expansion-test.rkt" ;;pass + "special-env-typecheck-tests.rkt" ;;pass" "contract-tests.rkt" "interactive-tests.rkt" - racket/runtime-path rackunit) (provide unit-tests) -(define-runtime-path special "special-env-typecheck-tests.rkt") (define unit-tests (make-test-suite "Unit Tests" (list - ;; this uses dynamic require because the file fails to compile when there's a test failure - (dynamic-require special 'typecheck-special-tests) + typecheck-special-tests typecheck-tests subtype-tests type-equal-tests diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/special-env-typecheck-tests.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/special-env-typecheck-tests.rkt index 44e723a9..0b49b6c0 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/special-env-typecheck-tests.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/special-env-typecheck-tests.rkt @@ -1,6 +1,7 @@ #lang racket (require "test-utils.rkt" + "evaluator.rkt" (for-syntax scheme/base) (for-template scheme/base) (rep type-rep filter-rep object-rep) @@ -13,6 +14,7 @@ rackunit rackunit/text-ui syntax/parse racket/file racket/port + syntax/location (for-syntax syntax/kerncase syntax/parse racket/syntax (types abbrev numeric-tower utils) (utils mutated-vars) (env mvar-env) @@ -29,13 +31,15 @@ (define-syntax (tc-e stx) (syntax-parse stx [(_ expr ty) (syntax/loc stx (tc-e expr #:ret (ret ty)))] - [(_ a #:ret b) - (quasisyntax/loc stx - (check-tc-result-equal? (format "~a ~a" #,(syntax-line stx) 'a) - #,(let ([ex (local-expand #'a 'expression null)]) - (find-mutated-vars ex mvar-env) - (tc-expr ex)) - #,(syntax-local-eval #'b)))])) + [(id a #:ret b) + (syntax/loc stx + (let ([res1 (phase1-phase0-eval + (let ([ex (local-expand #'a 'expression null)]) + (find-mutated-vars ex mvar-env) + #`'#,(tc-expr ex)))] + [res2 (phase1-phase0-eval #`'#,b)]) + (check-tc-result-equal? (format "~a ~a" (quote-line-number id) 'a) + res1 res2)))])) (define typecheck-special-tests (test-suite