Skip to content

Commit 4adcd24

Browse files
authored
Add batch testing
1 parent 26dfa1c commit 4adcd24

File tree

10 files changed

+251
-8
lines changed

10 files changed

+251
-8
lines changed

tests/all.um

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import (
2+
"dynarrays.um"
3+
"fibers.um"
4+
"fnctools.um"
5+
"gc.um"
6+
"interfaces.um"
7+
"interfaces2.um"
8+
"multret.um"
9+
"tour.um"
10+
)
11+
12+
fn main() {
13+
printf("\n\n>>> Dynamic arrays\n\n"); dynarrays.test()
14+
printf("\n\n>>> Fibers\n\n"); fibers.test()
15+
printf("\n\n>>> Functional tools\n\n"); fnctools.test()
16+
printf("\n\n>>> Garbage collection\n\n"); gc.test()
17+
printf("\n\n>>> Interfaces - 1\n\n"); interfaces.test()
18+
printf("\n\n>>> Interfaces - 2\n\n"); interfaces2.test()
19+
printf("\n\n>>> Multiple returns\n\n"); multret.test()
20+
printf("\n\n>>> Language tour\n\n"); tour.test()
21+
}

tests/dynarrays.um

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ fn f(b: ^[100][2]^int, length: int) {
66
}
77
}
88

9-
fn main() {
9+
fn test*() {
1010
a := make([][2]^int, 10)
1111

1212
for i, _ in a {
@@ -71,3 +71,7 @@ fn main() {
7171
std.println("d: " + repr(d))
7272

7373
}
74+
75+
fn main() {
76+
test()
77+
}

tests/expected.log

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
2+
3+
>>> Dynamic arrays
4+
5+
a: 0 0
6+
a: 5 7
7+
a: 10 14
8+
a: 15 21
9+
a: 20 28
10+
a: 25 35
11+
a: 30 42
12+
a: 35 49
13+
a: 40 56
14+
a: 45 63
15+
Appending...
16+
a: 0 0
17+
a: 5 7
18+
a: 10 14
19+
a: 15 21
20+
a: 20 28
21+
a: 25 35
22+
a: 30 42
23+
a: 35 49
24+
a: 40 56
25+
a: 45 63
26+
a: 666 777
27+
b: 0 0
28+
b: 5 7
29+
b: 10 14
30+
b: 15 21
31+
b: 20 28
32+
b: 25 35
33+
b: 30 42
34+
b: 35 49
35+
b: 40 56
36+
b: 45 63
37+
b: 666 777
38+
Appending...
39+
e: 0 0
40+
e: 5 7
41+
e: 10 14
42+
e: 15 21
43+
e: 20 28
44+
e: 25 35
45+
e: 30 42
46+
e: 35 49
47+
e: 40 56
48+
e: 45 63
49+
e: 666 777
50+
e: 876 765
51+
Deleting #4...
52+
e: 0 0
53+
e: 5 7
54+
e: 10 14
55+
e: 15 21
56+
e: 25 35
57+
e: 30 42
58+
e: 35 49
59+
e: 40 56
60+
e: 45 63
61+
e: 666 777
62+
e: 876 765
63+
f: 0 0
64+
f: 5 7
65+
f: 10 14
66+
f: 15 21
67+
f: 20 28
68+
f: 25 35
69+
f: 30 42
70+
f: 35 49
71+
f: 40 56
72+
f: 45 63
73+
f: 666 777
74+
f: 876 765
75+
c: { 3 4 5 }
76+
Appending...
77+
c: { 3 4 5 6 }
78+
d: { { 666 777 } { 888 999 } }
79+
Appending...
80+
d: { { 666 777 } { 888 999 } { 444 555 } }
81+
82+
83+
>>> Fibers
84+
85+
Parent fiber: i = 0 buf = 0.00
86+
Child fiber: i = 0 buf = 0.00
87+
Parent fiber: i = 1 buf = 0.00
88+
Child fiber: i = 1 buf = 7.00
89+
Parent fiber: i = 2 buf = 3.00
90+
Child fiber: i = 2 buf = 14.00
91+
Parent fiber: i = 3 buf = 6.00
92+
Child fiber: i = 3 buf = 21.00
93+
Parent fiber: i = 4 buf = 9.00
94+
Child fiber: i = 4 buf = 28.00
95+
Parent fiber: i = 5 buf = 12.00
96+
Parent fiber: i = 6 buf = 12.00
97+
Parent fiber: i = 7 buf = 12.00
98+
Parent fiber: i = 8 buf = 12.00
99+
Parent fiber: i = 9 buf = 12.00
100+
101+
102+
>>> Functional tools
103+
104+
Array = { 3 7 1 -4 2 5 }
105+
Sum of all squares less than 30 = 55
106+
107+
108+
>>> Garbage collection
109+
110+
See any memory leak warnings?
111+
112+
113+
>>> Interfaces - 1
114+
115+
proc_fooable:
116+
foo: 3, 5, 7
117+
proc_fooable_barable:
118+
foo: 3, 5, 9
119+
bar: 3, 5, 11
120+
proc_fooable:
121+
foo: 3, 5, 7
122+
123+
124+
>>> Interfaces - 2
125+
126+
{ "red" "green" "blue" "yellow" "gray" "brown" "black" "cyan" "magenta" "white" }
127+
{ "black" "blue" "brown" "cyan" "gray" "green" "magenta" "red" "white" "yellow" }
128+
129+
130+
>>> Multiple returns
131+
132+
-3 { 6.000000 9.000000 } true
133+
-4 { 8.000000 12.000000 } false
134+
{ 3 2 } { 7 6 } { 9 8 }
135+
{ 9 8 } { 3 2 } { 7 6 }
136+
{ 9 8 } { 3 2 } { 7 6 }
137+
Hello World
138+
World Hello
139+
23 45.600000 "Hello" z
140+
{ a b } { c d } { e f }
141+
12.000000 -3.000000 17.000000
142+
143+
144+
>>> Language tour
145+
146+
Arr: { 2.300000 -2.050000 2.380000 }
147+
Got 42
148+
3 is odd
149+
1
150+
2
151+
4
152+
8
153+
16
154+
32
155+
64
156+
128
157+
len = 4
158+
4.680
159+
Arr: { 0.500000 0.700000 0.900000 }
160+
Parent: i=0 buf=0
161+
Child : i=0 buf=0
162+
Parent: i=1 buf=0
163+
Child : i=1 buf=7
164+
Parent: i=2 buf=3
165+
Child : i=2 buf=14
166+
Parent: i=3 buf=6
167+
Child : i=3 buf=21
168+
Parent: i=4 buf=9
169+
Child : i=4 buf=28
170+
Parent: i=5 buf=12
171+
Parent: i=6 buf=35
172+
Parent: i=7 buf=42
173+
Parent: i=8 buf=49
174+
Parent: i=9 buf=56
175+
176+
repr():
177+
3
178+
2.380000
179+
0.138015
180+
"Hello World"
181+
0
182+
"Hello World!"
183+
{ 2.300000 -2.050000 2.380000 }
184+
{ { 0 0 0 0 0 } { 0 0 0 0 0 } { 0 0 0 0 0 } { 10 20 30 40 50 } }
185+
{ q: { 1.000000 0.000000 0.000000 0.000000 } normalized: true }
186+
4.680000
187+
a
188+
fn
189+
{ 0.500000 0.700000 0.900000 }
190+
000000000054ff10

tests/fibers.um

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ fn childFunc(parent: ^fiber, buf: ^[2]real) {
88
}
99
}
1010

11-
fn main() {
11+
fn test*() {
1212
buf := [2]real {0, 0}
1313
child := fiberspawn(childFunc, &buf)
1414

@@ -20,3 +20,7 @@ fn main() {
2020
}
2121
}
2222
}
23+
24+
fn main() {
25+
test()
26+
}

tests/fnctools.um

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import "../import/fnc.um"
22

3-
fn main() {
3+
fn test*() {
44
var data: fnc.AnyArray = [6]fnc.Any{3, 7, 1, -4, 2, 5}
55
printf("Array = %s\n", repr(data))
66

@@ -11,4 +11,8 @@ fn main() {
1111
const max = 30
1212
result := data.map(sqr, null).filter(less, max).reduce(sum, null)
1313
printf("Sum of all squares less than %d = %s\n", max, repr(result))
14+
}
15+
16+
fn main() {
17+
test()
1418
}

tests/gc.um

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ fn h2(): st {
3434
return st{x: 7, p: d, y: 5, q: d}
3535
}
3636

37-
fn main() {
37+
fn test*() {
3838
std.println("See any memory leak warnings?")
3939

4040
a := new([1000] int)
@@ -72,3 +72,7 @@ fn main() {
7272

7373
new([1000000] int)
7474
}
75+
76+
fn main() {
77+
test()
78+
}

tests/interfaces.um

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ fn proc_fooable_barable(fb: fooable_barable) {
3636
proc_fooable(fb)
3737
}
3838

39-
fn main() {
39+
fn test*() {
4040
var fb: fooable_barable
4141

4242
if true {
@@ -51,6 +51,10 @@ fn main() {
5151

5252
f := fooable(fb)
5353
}
54+
55+
fn main() {
56+
test()
57+
}
5458

5559

5660

tests/interfaces2.um

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,12 @@ fn sort(a: []any, ordered: fn (x, y: any): bool): []any {
1313
return a
1414
}
1515

16-
fn main() {
16+
fn test*() {
1717
a := [10]any{"red", "green", "blue", "yellow", "gray", "brown", "black", "cyan", "magenta", "white"}
1818
b := sort(a, fn (x, y: any): bool {return ^str(x)^ < ^str(y)^})
1919
printf("%s\n%s\n", repr(a), repr(b))
20+
}
21+
22+
fn main() {
23+
test()
2024
}

tests/multret.um

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ p := 'z'
88
var i, j, k: [2]char = [2]char{'a', 'b'}, [2]char{'c', 'd'}, [2]char{'e', 'f'}
99
var l, m, n: real = 12, -3, 17
1010

11-
fn main() {
11+
fn test*() {
1212
if a, b, c := f(3, false); a < 3 {
1313
printf(repr(a) + " " + repr(b) + " " + repr(c) + "\n")
1414

@@ -34,4 +34,8 @@ fn main() {
3434
printf(repr(u) + " " + repr(v) + " " + repr(w) + " " + repr(p) + "\n")
3535
printf(repr(i) + " " + repr(j) + " " + repr(k) + "\n")
3636
printf(repr(l) + " " + repr(m) + " " + repr(n) + "\n")
37+
}
38+
39+
fn main() {
40+
test()
3741
}

tests/tour.um

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ fn parentFunc() {
6262
}
6363
}
6464

65-
fn main() {
65+
fn test*() {
6666
// Assignment
6767
h = make([][5]int, 3)
6868

@@ -130,6 +130,10 @@ fn main() {
130130

131131
}
132132

133+
fn main() {
134+
test()
135+
}
136+
133137

134138

135139

0 commit comments

Comments
 (0)