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
|
#{ RUN_TEST -- Run a test script.
procedure run_test (name, script, output)
string name { prompt = "Test name" }
string script { prompt = "Script to execute" }
string output { prompt = "Filename of test output" }
bool pass = no { prompt = "Test result" }
bool cl_err = no { prompt = "CL script error?" }
begin
string lname, lscript, lresult, loutput, lres, lout, descr
int ndiff
# Get parameters to local script variables.
lname = name
lscript = "tests$/" // script // ".cl"
lresult = "tests$/" // script // ".out"
loutput = output
descr = " "
# Run the test.
votest.has_err = no
iferr {
cl ( < lscript, >& loutput )
# print ("cl < " // lscript) |& clbye(, >& loutput)
# type (lscript) |& clbye(, >& loutput)
} then {
printf ("\t%-50.50s\t", votest.descr)
if (votest.has_err == yes) {
pass = yes
cl_err = no
} else {
pass = no
cl_err = yes
}
} else {
printf ("\t%-50.50s\t", votest.descr)
lres = osfn (lresult)
lout = osfn (loutput)
diff ("-bitw", lres, lout) | count("STDIN") | scan(ndiff)
if (ndiff == 0) {
pass = yes
} else {
pass = no
diff ("-bitw", lres, lout)
#print ("!diff -bitw " // lres // " " // lout) | cl()
}
}
end
|