#invoke with gnugo --mode gtp < reading.tst | awk -f regress.awk tst=reading.tst
# store results of gnugo in array gtpout
# store test numbers in array test to be able
# to retrieve test results in same order as in gtp file
# store test results in tst file in array expect
if (match ($
0, /^
#\?/)) {
print "Possible crash!: expected " nexpect
" results, got " ntest
". Last successful test was " test
[ntest
-1] ".";
print "Possible crash!: expected " nexpect
" results, got " ntest
". Crash in first test.";
# check results of gnugo --mode gtp
for (i=
0; i
<ntest
; i
++) {
correct_prn = expect
[num
];
sub(/^\
[/, "", correct_prn
);
sub(/\
][&*]*$
/, "", correct_prn
);
if (match(expect
[num
], /&$
/)) {
if (match(expect
[num
], /\
*$
/)) {
correct_re = correct_prn
;
if (match(correct_re
, /^!
/)) {
sub(/^!
/, "", correct_re
);
sub(/^
/, "^", correct_re
);
sub(/$
/, "$", correct_re
);
match_result =
match(result
, correct_re
);
match_result = !match_result
;
print num
" unexpected PASS!";
print num
" FAILED: Correct '" correct_prn
"', got '" result
"'";
print num
" unexpected FAIL: Correct '" correct_prn
"', got '" result
"'";
print num
" failed: Correct '" correct_prn
"', got '" result
"'";
total = passes
+ failures
;
if (unexpected_pass ==
1)
if (unexpected_fail ==
1)
fail_string =
"failures";
print "Summary: " passes
"/" total
" passes. " unexpected_pass
" unexpected " pass_string
", " unexpected_fail
" unexpected " fail_string
;