Making test suite files all meet a standard interface.

All test suite files now export one identifier with the name 'tests'.
This allows for them to be treated the same across the test
infrastructure.

original commit: 14c340a77bc3d35dc3edc489b0ff01719bcf31e7
This commit is contained in:
Eric Dobson 2013-10-08 22:43:54 -07:00
parent 1ddfb446c2
commit 7eb3ef16ef
12 changed files with 53 additions and 56 deletions

View File

@ -1,41 +1,33 @@
#lang scheme/base
#lang racket/base
(require
"test-utils.rkt"
"typecheck-tests.rkt" ;;pass
"subtype-tests.rkt" ;; pass
"type-equal-tests.rkt" ;; pass
"remove-intersect-tests.rkt" ;; pass
"parse-type-tests.rkt" ;; pass
"subst-tests.rkt" ;; pass
"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"
rackunit)
rackunit
(for-syntax racket/base syntax/parse racket/syntax))
(provide unit-tests)
(define-syntax define-tests
(syntax-parser
[(_ test-name:id files:expr ...)
(define/with-syntax (new-names ...)
(generate-temporaries #'(files ...)))
#'(begin
(require (only-in files [tests new-names]) ...)
(define test-name
(make-test-suite
"Unit Tests"
(list new-names ...))))]))
(define unit-tests
(make-test-suite
"Unit Tests"
(list
typecheck-special-tests
typecheck-tests
subtype-tests
type-equal-tests
restrict-tests
remove-tests
overlap-tests
parse-type-tests
type-annotation-tests
fv-tests
contract-tests
keyword-tests
interactive-tests)))
(define-tests unit-tests
"typecheck-tests.rkt"
"subtype-tests.rkt"
"type-equal-tests.rkt"
"remove-intersect-tests.rkt"
"parse-type-tests.rkt"
"subst-tests.rkt"
"infer-tests.rkt"
"type-annotation-test.rkt"
"keyword-expansion-test.rkt"
"special-env-typecheck-tests.rkt"
"contract-tests.rkt"
"interactive-tests.rkt")

View File

@ -7,7 +7,7 @@
(rep type-rep)
(types abbrev numeric-tower union)
rackunit)
(provide contract-tests)
(provide tests)
(define-syntax-rule (t e)
@ -48,7 +48,7 @@
(define contract-tests
(define tests
(test-suite "Contract Tests"
known-bugs
(t (-Number . -> . -Number))

View File

@ -4,7 +4,7 @@
(types numeric-tower utils abbrev))
(provide fv-tests)
(provide tests)
(define-syntax-rule (fv-t ty elems ...)
(let ([ty* ty])
@ -13,7 +13,7 @@
(fv ty*)
(list (quote elems) ...))))
(define fv-tests
(define tests
(test-suite "Tests for fv"
(fv-t -Number)
[fv-t (-v a) a]

View File

@ -10,7 +10,7 @@
racket/format
syntax/parse))
(provide interactive-tests)
(provide tests)
(define promised-ns
(delay
@ -42,7 +42,7 @@
,(syntax->datum #'form)) (force promised-ns)))))))]))
;; Add 'only at the toplevel tests'
(define interactive-tests
(define tests
(test-suite "Interactive tests"
(test-form #rx""

View File

@ -5,7 +5,7 @@
(types utils kw-types abbrev numeric-tower)
racket/match racket/set
rackunit)
(provide keyword-tests)
(provide tests)
(define-syntax-rule (t arg expected)
(begin
@ -37,7 +37,7 @@
(define three (-val 'three))
(define four (-val 'four))
(define keyword-tests
(define tests
(test-suite "Tests for keyword expansion"
[t (-> result) (-> result)]

View File

@ -12,7 +12,7 @@
rackunit
racket/dict)
(provide parse-type-tests)
(provide tests)
;; HORRIBLE HACK!
;; We are solving the following problem:
@ -73,7 +73,7 @@
(define B -Boolean)
(define Sym -Symbol)
(define parse-type-tests
(define tests
(pt-tests
"parse-type tests"
[FAIL UNBOUND]

View File

@ -4,6 +4,7 @@
(r:infer infer)
(types abbrev numeric-tower subtype union remove-intersect)
rackunit)
(provide tests)
(define-syntax (over-tests stx)
(syntax-case stx ()
@ -66,5 +67,8 @@
[(-pair -Number (-v a)) (-pair Univ Univ) (Un)]
))
(provide remove-tests restrict-tests overlap-tests)
(define tests
(test-suite "Remove Intersect"
remove-tests
restrict-tests
overlap-tests))

View File

@ -22,7 +22,7 @@
typed-racket/base-env/prims
typed-racket/base-env/base-types
(for-syntax typed-racket/standard-inits))
(provide typecheck-special-tests)
(provide tests)
(begin-for-syntax (do-standard-inits))
@ -41,7 +41,7 @@
(check-tc-result-equal? (format "~a ~a" (quote-line-number id) 'a)
res1 res2)))]))
(define typecheck-special-tests
(define tests
(test-suite
"Special Typechecker tests"
;; should work but don't -- need expected type

View File

@ -4,6 +4,7 @@
(rep type-rep)
(types utils abbrev numeric-tower substitute)
rackunit)
(provide tests)
(define-syntax-rule (s img var tgt result)
(test-eq? "test" (substitute img 'var tgt) result))
@ -11,7 +12,7 @@
(define-syntax-rule (s... imgs var tgt result)
(test-eq? "test" (substitute-dots (list . imgs) #f 'var tgt) result))
(define subst-tests
(define tests
(test-suite "Tests for substitution"
(s -Number a (-v a) -Number)
(s... (-Number -Boolean) a (make-Function (list (make-arr-dots null -Number (-v a) 'a))) (-Number -Boolean . -> . -Number))

View File

@ -7,7 +7,7 @@
rackunit
(for-syntax scheme/base))
(provide subtype-tests)
(provide tests)
(define-syntax (subtyping-tests stx)
(define (single-test stx)
@ -26,7 +26,7 @@
(define t1 (-mu T (-lst (Un (-v a) T))))
(define t2 (unfold t1))
(define subtype-tests
(define tests
(subtyping-tests
;; trivial examples
(Univ Univ)

View File

@ -5,7 +5,7 @@
(types abbrev numeric-tower union)
rackunit)
(provide type-equal-tests)
(provide tests)
(define (-base x) (make-Base x #'dummy values #f))
@ -26,7 +26,7 @@
(define (fld* t) (make-fld t (datum->syntax #'here 'values) #f))
(define type-equal-tests
(define tests
(te-tests
[-Number -Number]
[(Un -Number) -Number]

View File

@ -60,7 +60,7 @@
syntax/parse
'tester))
(provide typecheck-tests)
(provide tests)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -180,7 +180,7 @@
(make-Path p var))))
(define typecheck-tests
(define tests
(test-suite
"Typechecker tests"
#reader typed-racket/typed-reader