Make special env typecheck tests not run the code at module initialization.
original commit: 4e42a328e30ac34fb99654099335c7c8878ab05d
This commit is contained in:
parent
2aa14bc37f
commit
1ddfb446c2
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user