|
|
1.1 root 1: -TITLE SPITBOL TEST PROGRAM #2 -- DIAGNOSTICS PHASE TWO
2: -IN80
3: *
4: OUTPUT = 'TEST #2 '
5: *
6: *
7: * THIS IS THE STANDARD TEST PROGRAM FOR SPITBOL WHICH
8: * TESTS PATTERN MATCHING
9: *
10: &ANCHOR = 0
11: &ANCHOR = 0
12: DEFINE('ERROR()')
13: &TRACE = 1000
14: &ERRLIMIT = 100
15: TRACE(.ERRTYPE,'KEYWORD')
16: OUTPUT = '**********************************************'
17: OUTPUT = '**** SPITBOL DIAGNOSTICS -- PHASE TWO ****'
18: OUTPUT = '**********************************************'
19: FLOOP ERRCOUNT = 0
20: TEST = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
21: *
22: * TEST PATTERN MATCHING AGAINST SIMPLE STRING
23: *
24: TEST 'ABC' :S(S01) ; ERROR()
25: S01 TEST 'BCD' :S(S02) ; ERROR()
26: S02 TEST 'XYZ' :S(S03) ; ERROR()
27: S03 TEST 'ABD' :F(S04) ; ERROR()
28: S04 &ANCHOR = 1
29: TEST 'ABC' :S(S05) ; ERROR()
30: S05 TEST 'BCD' :F(S06) ; ERROR()
31: S06 TEST TEST :S(S06A) ; ERROR()
32: *
33: * TEST SIMPLE CASES OF $
34: *
35: S06A TEST 'ABC' $ VAR :S(S07) ; ERROR()
36: S07 IDENT(VAR,'ABC') :S(S08) ; ERROR()
37: S08 TEST 'ABC' . VARD :S(S09) ; ERROR()
38: S09 IDENT(VARD,'ABC') :S(S10) ; ERROR()
39: *
40: * TEST LEN
41: *
42: S10 &ANCHOR = 0
43: TEST LEN(3) $ VARL :S(S11) ; ERROR()
44: S11 IDENT(VARL,'ABC') :S(S12) ; ERROR()
45: S12 TEST LEN(26) $ VARL :S(S13) ; ERROR()
46: S13 IDENT(VARL,TEST) :S(S14) ; ERROR()
47: S14 TEST LEN(27) :F(S15) ; ERROR()
48: *
49: * TEST TAB
50: *
51: S15 TEST TAB(3) $ VART :S(S16) ; ERROR()
52: S16 IDENT(VART,'ABC') :S(S17) ; ERROR()
53: S17 TEST TAB(26) $ VART :S(S18) ; ERROR()
54: S18 IDENT(TEST,VART) :S(S19) ; ERROR()
55: S19 TEST TAB(0) $ VART :S(S20) ; ERROR()
56: S20 IDENT(VART) :S(S21) ; ERROR()
57: *
58: * TEST ARB
59: *
60: S21 TEST ARB $ VARA 'C' :S(S22) ; ERROR()
61: S22 IDENT(VARA,'AB') :S(S23) ; ERROR()
62: S23 &ANCHOR = 1
63: TEST ARB $ VARA POS(60) :F(S24) ; ERROR()
64: S24 IDENT(VARA,TEST) :S(S25) ; ERROR()
65: *
66: * TEST POS
67: *
68: S25 TEST ARB $ VARA POS(2) $ VARP :S(S26) ; ERROR()
69: S26 (IDENT(VARA,'AB') IDENT(VARP)) :S(S27) ; ERROR()
70: S27 &ANCHOR = 0
71: TEST ARB $ VARA POS(26) $ VARP :S(S28) ; ERROR()
72: S28 (IDENT(VARA,TEST) IDENT(VARP)) : S(S29) ; ERROR()
73: S29 TEST ARB $ VARA POS(0) $ VARP :S(S30) ; ERROR()
74: S30 IDENT(VARA VARP) :S(S31) ; ERROR()
75: S31 TEST POS(0) ARB $ VARA POS(26) :S(S32) ; ERROR()
76: S32 IDENT(TEST,VARA) :S(S33) ; ERROR()
77: S33 TEST POS(2) ARB $ VARA POS(3) :S(S34) ; ERROR()
78: S34 IDENT(VARA,'C') :S(S35) ; ERROR()
79: S35 TEST POS(27) :F(S36) ; ERROR()
80: *
81: * TEST RPOS
82: *
83: S36 TEST ARB $ VARA RPOS(25) :S(S37) ; ERROR()
84: S37 IDENT(VARA,'A') :S(S38) ; ERROR()
85: S38 TEST ARB $ VARA RPOS(0) :S(S39) ; ERROR()
86: S39 IDENT(TEST,VARA) :S(S39A) ; ERROR()
87: S39A TEST ARB $ VARA RPOS(26) :S(S40) ; ERROR()
88: S40 IDENT(VARA) :S(S41) ; ERROR()
89: S41 TEST RPOS(27) :F(S42) ; ERROR()
90: *
91: * TEST RTAB
92: *
93: S42 TEST RTAB(26) $ VARA :S(S43) ; ERROR()
94: S43 IDENT(VARA) :S(S44) ; ERROR()
95: S44 TEST RTAB(27) :F(S45) ; ERROR()
96: S45 TEST RTAB(0) $ VARA :S(S46) ; ERROR()
97: S46 IDENT(VARA,TEST) :S(S47) ; ERROR()
98: S47 TEST RTAB(25) $ VARA :S(S48) ; ERROR()
99: S48 IDENT(VARA,'A') :S(S49) ; ERROR()
100: *
101: * TEST @
102: *
103: S49 TEST LEN(6) @VARA :S(S50) ; ERROR()
104: S50 IDENT(VARA,6) :S(S51) ; ERROR()
105: S51 TEST @VARA :S(S52) ; ERROR()
106: S52 IDENT(VARA,0) :S(S53) ; ERROR()
107: S53 TEST LEN(26) @VARA :S(S54) ; ERROR()
108: S54 IDENT(VARA,26) :S(S55) ; ERROR()
109: *
110: * TEST BREAK
111: *
112: S55 TEST BREAK('C') $ VARA :S(S56) ; ERROR()
113: S56 IDENT(VARA,'AB') :S(S57) ; ERROR()
114: S57 TEST BREAK('Z()') $ VARA :S(S58) ; ERROR()
115: S58 IDENT(VARA,'ABCDEFGHIJKLMNOPQRSTUVWXY') :S(S59) ; ERROR()
116: S59 TEST BREAK(',') :F(S60) ; ERROR()
117: S60 LPAD(TEST,1000) BREAK('A') $ VARA :S(S61) ; ERROR()
118: S61 IDENT(LPAD(' ',1000 - 26),VARA) :S(S62) ; ERROR()
119: S62 LPAD(TEST,1000) BREAK(',') :F(S63) ; ERROR()
120: *
121: * TEST SPAN
122: *
123: S63 TEST SPAN(TEST) $ VARA :S(S64) ; ERROR()
124: S64 IDENT(TEST,VARA) :S(S65) ;ERROR()
125: S65 TEST SPAN('CDQ') $ VARA :S(S66) ; ERROR()
126: S66 IDENT(VARA,'CD') :S(S67) ; ERROR()
127: S67 TEST SPAN(',') :F(S68) ; ERROR()
128: S68 LPAD(TEST,1000) SPAN(' ') $ VARA :S(S69) ; ERROR()
129: S69 IDENT(VARA,LPAD(' ',1000 - 26)) :S(S70) ; ERROR()
130: *
131: * TEST BREAKX
132: *
133: S70 (TEST TEST) POS(0) BREAKX('E') $ VARA '.' :F(S71) ; ERROR()
134: S71 IDENT(VARA,TEST 'ABCD') :S(S72) ; ERROR()
135: S72 TEST BREAKX('.') :F(S73) ; ERROR()
136: *
137: * TEST ANY
138: *
139: S73 TEST ANY('MXZ') $ VARA :S(S74) ; ERROR()
140: S74 IDENT(VARA,'M') :S(S75) ; ERROR()
141: S75 TEST ANY(',.') :F(S76) ; ERROR()
142: *
143: * TEST NOTANY
144: *
145: S76 TEST NOTANY('ABCDEFGHJKLMPQRSTUWXYZ') $ VARA :S(S77) ; ERROR()
146: S77 IDENT(VARA,'I') :S(S78) ; ERROR()
147: S78 TEST NOTANY(TEST) :F(S79) ; ERROR()
148: *
149: * TEST REM
150: *
151: S79 TEST REM $ VARA :S(S80) ; ERROR()
152: S80 IDENT(VARA,TEST) :S(S81) ; ERROR()
153: S81 TEST LEN(26) REM $ VARA :S(S82) ; ERROR()
154: S82 IDENT(VARA) :S(S83) ; ERROR()
155: *
156: * TEST ALTERNATION
157: *
158: S83 TEST ('ABD' | 'AB') $ VARA :S(D84) ; ERROR()
159: D84 IDENT(VARA,'AB') :S(D85) ; ERROR()
160: D85 TEST (TEST 'A' | TEST) $ VARL :S(D86) ; ERROR()
161: D86 IDENT(VARL,TEST) :S(D00) ; ERROR()
162: *
163: * TEST DEFERRED STRINGS
164: *
165: D00 TEST *'ABC' :S(D01) ; ERROR()
166: D01 TEST *'ABD' :F(D06) ; ERROR()
167: *
168: * TEST $ . WITH DEFERRED NAME ARGUMENTS
169: *
170: D06 TEST 'ABC' $ *VAR :S(D07) ; ERROR()
171: D07 IDENT(VAR,'ABC') :S(D08) ; ERROR()
172: D08 TEST 'ABC' . *$'VARD' :S(D09) ; ERROR()
173: D09 IDENT(VARD,'ABC') :S(D10) ; ERROR()
174: *
175: * TEST LEN WITH DEFERRED ARGUMENT
176: *
177: D10 &ANCHOR = 0
178: TEST LEN(*3) $ VARL :S(D11) ; ERROR()
179: D11 IDENT(VARL,'ABC') :S(D15) ; ERROR()
180: *
181: * TEST TAB WITH DEFERRED ARGUMENT
182: *
183: D15 TEST TAB(*3) $ VART :S(D16) ; ERROR()
184: D16 IDENT(VART,'ABC') :S(D21) ; ERROR()
185: *
186: * TEST POS WITH DEFERRED ARGUMENT
187: *
188: D21 &ANCHOR = 1
189: TEST ARB $ VARA POS(*2) $ VARP :S(D26) ; ERROR()
190: D26 (IDENT(VARA,'AB') IDENT(VARP)) :S(D27) ; ERROR()
191: D27 &ANCHOR = 0
192: TEST ARB $ VARA POS(*0) $ VARP :S(D35) ; ERROR()
193: D35 IDENT(VARA VARP) :S(D36) ; ERROR()
194: *
195: * TEST RPOS WITH DEFERRED ARGUMENT
196: *
197: D36 TEST ARB $ VARA RPOS(*25) :S(D37) ; ERROR()
198: D37 IDENT(VARA,'A') :S(D38) ; ERROR()
199: *
200: * TEST RTAB WITH DEFERRED ARGUMENT
201: *
202: D38 TEST RTAB(*26) $ VARA :S(D43) ; ERROR()
203: D43 IDENT(VARA) :S(D49) ; ERROR()
204: *
205: * TEST @ WITH DEFERRED ARGUMENT
206: *
207: D49 TEST LEN(6) @*VARA :S(D50) ; ERROR()
208: D50 IDENT(VARA,6) :S(D51) ; ERROR()
209: D51 TEST @*$'VARA' :S(D52) ; ERROR()
210: D52 IDENT(VARA,0) :S(D55) ; ERROR()
211: *
212: * TEST BREAK WITH DEFERRED ARGUMENT
213: *
214: D55 TEST BREAK(*'C') $ VARA :S(D56) ; ERROR()
215: D56 IDENT(VARA,'AB') :S(D57) ; ERROR()
216: *
217: * TEST SPAN WITH DEFERRED ARGUMENT
218: *
219: D57 TEST SPAN(*TEST) $ VARA :S(D64) ; ERROR()
220: D64 IDENT(TEST,VARA) :S(D70) ; ERROR()
221: *
222: * TEST BREAKX WITH DEFERRED ARGUMENT
223: *
224: D70 (TEST TEST) POS(*0) BREAKX(*'E') $ VARA '.' :F(D71) ; ERROR()
225: D71 IDENT(VARA,TEST 'ABCD') :S(D73) ; ERROR()
226: *
227: * TEST ANY WITH DEFERRED ARGUMENT
228: *
229: D73 TEST ANY(*'MXZ') $ VARA :S(D74) ; ERROR()
230: D74 IDENT(VARA,'M') :S(D75) ; ERROR()
231: *
232: * TEST NOTANY WITH DEFERRED ARGUMENT
233: *
234: D75 TEST NOTANY(*'ABCDEFGHJKLMPQRSTUWXYZ') $ VARA :S(D77)
235: ERROR()
236: D77 IDENT(VARA,'I') :S(D79) ; ERROR()
237: D79 :(ALLDONE)
238: EJECT
239: *
240: * ERROR HANDLING ROUTINE
241: *
242: ERROR OUTPUT = '****** ERROR DETECTED AT ' &LASTNO ' ********'
243: OUTPUT = DIFFER(&ERRTEXT) ' &ERRTEXT = ' &ERRTEXT
244: ERRCOUNT = ERRCOUNT + 1
245: DUMP(1) :(RETURN)
246: *
247: * TERMINATION ROUTINE
248: *
249: ALLDONE
250: ERRCOUNT = ERRCOUNT + &ERRLIMIT - 100
251: &ERRLIMIT = 100
252: OUTPUT = EQ(ERRCOUNT,0)
253: . '**** NO ERRORS DETECTED ****'
254: OUTPUT = '**********************************************'
255: OUTPUT = '**** END OF DIAGNOSTICS ****'
256: OUTPUT = '**********************************************'
257: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.