-
Notifications
You must be signed in to change notification settings - Fork 1
/
run-tests.rkt
executable file
·126 lines (106 loc) · 5.47 KB
/
run-tests.rkt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#! /usr/bin/env racket
#lang racket
(require "utilities.rkt")
(require "interp.rkt")
(require "compiler.rkt")
(require "ch4/typecheck.rkt")
(require "ch5/typecheck.rkt")
(require "ch6/typecheck.rkt")
(require "ch7/typecheck.rkt")
(require "ch8/typecheck.rkt")
;(debug-level 0)
;(interp-tests "integers and arithmetic" #f r0-passes interp-scheme "r0" (range 1 5))
;(display "\e[0;34;42mr0-passes: tests passed!\e[0m") (newline)
;(debug-level 0)
;(interp-tests "integers and variables" #f r1-passes interp-scheme "r1" (range 1 32))
;(display "\e[0;34;42mr1-passes: interp tests passed!\e[0m") (newline)
;(debug-level 0)
;(compiler-tests "integers and variables" #f r1-passes "r1" (range 1 32))
;(newline) (display "\e[0;34;42mr1-final: compile tests passed!\e[0m") (newline)
;(debug-level 0)
;(interp-tests "register allocation" #f r1-passes-ch3 interp-scheme "r1" (range 1 32))
;(display "\e[0;34;42mr1-passes-ch3: interp tests passed!\e[0m") (newline)
;(debug-level 0)
;(compiler-tests "register allocation" #f r1-passes-ch3 "r1" (range 1 32))
;(newline) (display "\e[0;34;42mr1-passes-ch3-final: compile tests passed!\e[0m") (newline)
;(debug-level 2)
;(interp-tests "control flow" typecheck-R2 r2-passes interp-scheme "r2" (range 1 63))
;(display "\e[0;34;42mcontrol flow passed!\e[0m") (newline)
;(debug-level 0)
;(compiler-tests "control flow" typecheck-R3 r2-passes "r1" (range 1 32))
;(compiler-tests "control flow" typecheck-R2 r2-passes "r2" (range 1 63))
;(newline)
;(display "\e[0;34;42mcontrol flow: compile tests passed!\e[0m") (newline)
;(debug-level 2)
;(interp-tests "tuple & gc" typecheck-R3 r3-passes interp-scheme "r3" (range 1 36))
;(display "\e[0;34;42mtuple & gc passed!\e[0m") (newline)
;(debug-level 0)
;(compiler-tests "tuple & gc" typecheck-R3 r3-passes "r1" (range 1 32))
;(compiler-tests "tuple & gc" typecheck-R3 r3-passes "r2" (range 1 63))
;(compiler-tests "tuple & gc" typecheck-R3 r3-passes "r3" (range 1 36))
;(newline)
;(display "\e[0;34;42mtuple & gc: compile tests passed!\e[0m") (newline)
;(debug-level 2)
;(interp-tests "function" typecheck-R4 r4-passes interp-scheme "r2" (range 1 63))
;(interp-tests "function" typecheck-R4 r4-passes interp-scheme "r3" (range 1 36))
;(interp-tests "function" typecheck-R4 r4-passes interp-scheme "r4" (range 1 39))
;(display "\e[0;34;42mfunction passed!\e[0m") (newline)
;(debug-level 0)
;(compiler-tests "function" typecheck-R4 r4-passes "r1" (range 1 32))
;(compiler-tests "function" typecheck-R4 r4-passes "r2" (range 1 63))
;(compiler-tests "function" typecheck-R4 r4-passes "r3" (range 1 36))
;(compiler-tests "function" typecheck-R4 r4-passes "r4" (range 1 39))
;(newline)
;(display "\e[0;34;42mfunction: compile tests passed!\e[0m") (newline)
;(debug-level 2)
;(interp-tests "lambda" typecheck-R5 r5-passes interp-scheme "r5" (range 1 13))
;(display "\e[0;34;42mlambda passed!\e[0m") (newline)
;(debug-level 0)
;(compiler-tests "lambda" typecheck-R5 r5-passes "s1" (range 1 37))
;(compiler-tests "lambda" typecheck-R5 r5-passes "s2" (range 1 21))
;(compiler-tests "lambda" typecheck-R5 r5-passes "s3" (range 1 20))
;(compiler-tests "lambda" typecheck-R5 r5-passes "s4" (range 0 8))
;(compiler-tests "lambda" typecheck-R5 r5-passes "r1" (range 1 32))
;(compiler-tests "lambda" typecheck-R5 r5-passes "r2" (range 1 63))
;(compiler-tests "lambda" typecheck-R5 r5-passes "r3" (range 1 36))
;(compiler-tests "lambda" typecheck-R5 r5-passes "r4" (range 1 39))
;(compiler-tests "lambda" typecheck-R5 r5-passes "r5" (range 1 13))
;(newline)
;(display "\e[0;34;42mlambda: compile tests passed!\e[0m") (newline)
;(debug-level 2)
;(interp-tests "dynamic type" #f r6-passes interp-scheme "r6" (range 0 10))
;(display "\e[0;34;42mdynamic type passed!\e[0m") (newline)
;(debug-level 0)
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "s1" (range 1 37))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "s2" (range 1 21))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "s3" (range 1 20))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "s4" (range 0 8))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "s6" (range 0 11))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "r1" (range 1 32))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "r2" (range 1 63))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "r3" (range 1 36))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "r4" (range 1 39))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "r5" (range 1 13))
;(compiler-tests "dynamic type" typecheck-R6 r6-passes "r6" `(0 1 . ,(range 3 10)))
;(newline)
;(display "\e[0;34;42mdynamic type: compile tests passed!\e[0m") (newline)
;(debug-level 2)
;(interp-tests "dynamic type" #f r7-passes (interp-r7 '()) "r7" (range 1 22))
;(display "\e[0;34;42mdynamic type passed!\e[0m") (newline)
;(debug-level 0)
;(compiler-tests "dynamic type" #f r7-passes "r7" (range 1 22))
;(newline)
;(display "\e[0;34;42mdynamic type: compile tests passed!\e[0m") (newline)
;(debug-level 0)
;(compiler-tests "dynamic type" #f r7-passes "r7" (range 0 22))
;(compiler-tests "dynamic type" #f r7-passes "s7" (range 0 9))
;(newline)
;(display "\e[0;34;42mdynamic type passed!\e[0m") (newline)
;(debug-level 2)
;(interp-tests "dynamic type" #f r8-passes (lambda (e) '(tagged 42 Integer)) "r8" (range 1 2))
(debug-level 0)
(compiler-tests "dynamic type" #f r8-passes "r7" (range 1 22))
(compiler-tests "dynamic type" #f r8-passes "r8" (range 1 5))
((compile-file #f r8-passes) "tests/r8_5.rkt")
(newline)
(display "\e[0;34;42mdynamic type: compile tests passed!\e[0m") (newline)