1
\ To collect and report on the number of errors resulting from running the
2
\ ANS Forth and Forth 2012 test programs
4
\ This program was written by Gerry Jackson in 2015, and is in the public
5
\ domain - it can be distributed and/or modified in any way but please
8
\ This program is distributed in the hope that it will be useful,
9
\ but WITHOUT ANY WARRANTY; without even the implied warranty of
10
\ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
\ ------------------------------------------------------------------------------
13
\ This file is INCLUDED after Core tests are complete and only uses Core words
14
\ already tested. The purpose of this file is to count errors in test results
15
\ and present them as a summary at the end of the tests.
19
VARIABLE CORE-ERRORS VARIABLE CORE-EXT-ERRORS
20
VARIABLE DOUBLE-ERRORS VARIABLE EXCEPTION-ERRORS
21
VARIABLE FACILITY-ERRORS VARIABLE FILE-ERRORS
22
VARIABLE LOCALS-ERRORS VARIABLE MEMORY-ERRORS
23
VARIABLE SEARCHORDER-ERRORS VARIABLE STRING-ERRORS
24
VARIABLE TOOLS-ERRORS VARIABLE PREV-ERRORS
28
DUP CORE-ERRORS ! PREV-ERRORS ! \ #ERRORS is in file tester.fr
29
0 CORE-EXT-ERRORS ! 0 DOUBLE-ERRORS ! 0 EXCEPTION-ERRORS !
30
0 FACILITY-ERRORS ! 0 FILE-ERRORS ! 0 LOCALS-ERRORS !
31
0 MEMORY-ERRORS ! 0 SEARCHORDER-ERRORS ! 0 STRING-ERRORS !
37
\ SET-ERROR-COUNT called at the end of each test file with address of its
39
: SET-ERROR-COUNT ( ad -- )
40
#ERRORS @ PREV-ERRORS @ - SWAP !
41
#ERRORS @ PREV-ERRORS !
44
\ Report summary of errors
48
: SHOW-ERROR-COUNT ( ad caddr u -- )
49
CR SWAP OVER TYPE MARGIN - ABS
50
>R @ ?DUP IF R> .R ELSE R> 1- SPACES [CHAR] - EMIT THEN
53
: HLINE ( -- ) CR ." ---------------------------" ;
57
CR 8 SPACES ." Error Report"
58
CR ." Word Set" 13 SPACES ." Errors"
60
CORE-ERRORS S" Core" SHOW-ERROR-COUNT
61
CORE-EXT-ERRORS S" Core extension" SHOW-ERROR-COUNT
62
DOUBLE-ERRORS S" Double number" SHOW-ERROR-COUNT
63
EXCEPTION-ERRORS S" Exception" SHOW-ERROR-COUNT
64
FACILITY-ERRORS S" Facility" SHOW-ERROR-COUNT
65
FILE-ERRORS S" File-access" SHOW-ERROR-COUNT
66
LOCALS-ERRORS S" Locals" SHOW-ERROR-COUNT
67
MEMORY-ERRORS S" Memory-allocation" SHOW-ERROR-COUNT
68
TOOLS-ERRORS S" Programming-tools" SHOW-ERROR-COUNT
69
SEARCHORDER-ERRORS S" Search-order" SHOW-ERROR-COUNT
70
STRING-ERRORS S" String" SHOW-ERROR-COUNT
72
#ERRORS S" Total" SHOW-ERROR-COUNT