3 -- Grant of Unlimited Rights
5 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7 -- unlimited rights in the software and documentation contained herein.
8 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
9 -- this public release, the Government intends to confer upon all
10 -- recipients unlimited rights equal to those held by the Government.
11 -- These rights include rights to use, duplicate, release or disclose the
12 -- released technical data and computer software in whole or in part, in
13 -- any manner and for any purpose whatsoever, and to have or permit others
18 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23 -- PARTICULAR PURPOSE OF SAID MATERIAL.
27 -- CHECK THAT THE PROCEDURE CHECK_FILE WORKS CORRECTLY, IN
28 -- PARTICULAR, THAT IT WILL REPORT INCORRECT FILE CONTENTS
31 -- THIS TEST INTENTIONALLY CONTAINS MISMATCHES BETWEEN FILE
32 -- CONTENTS AND THE 'CONTENTS' STRING PARAMETER OF PROCEDURE
35 -- PASS/FAIL CRITERIA:
36 -- IF AN IMPLEMENTATION SUPPORTS EXTERNAL FILES, IT PASSES THIS TEST
37 -- IF TEST EXECUTION REPORTS THE FOLLOWING FOUR FAILURES, REPORTS AN
38 -- INTERMEDIATE "FAILED" RESULT, REPORTS A FINAL "TENTATIVELY PASSED"
39 -- RESULT, AND REPORTS NO OTHER FAILURES.
40 -- * CZ1103A FROM CHECK_FILE: END OF LINE EXPECTED - E
42 -- * CZ1103A FROM CHECK_FILE: END_OF_PAGE NOT WHERE EXPECTED.
43 -- * CZ1103A FROM CHECK_FILE: END_OF_FILE NOT WHERE EXPECTED.
44 -- * CZ1103A FROM CHECK_FILE: FILE DOES NOT CONTAIN CORRECT
45 -- OUTPUT - EXPECTED C - GOT I.
47 -- IF AN IMPLEMENTATION DOES NOT SUPPORT EXTERNAL FILES, IT PASSES THIS
48 -- TEST IF TEST EXECUTION REPORTS NINE FAILURES FOR INCOMPLETE SUBTESTS
49 -- SIMILAR TO THE SAMPLE BELOW, REPORTS AN INTERMEDIATE "FAILED" RESULT,
50 -- REPORTS A FINAL "TENTATIVELY PASSED" RESULT, AND REPORTS NO OTHER
52 -- * CZ1103A TEST WITH EMPTY FILE INCOMPLETE.
55 -- SPS 12/09/82 CREATED ORIGINAL TEST.
56 -- JRK 11/18/85 ADDED COMMENTS ABOUT PASS/FAIL CRITERIA.
57 -- JET 01/13/88 UPDATED HEADER FORMAT, ADDED FINAL CALL TO
59 -- PWB 06/24/88 CORRECTED PASS/FAIL CRITERIA TO INDICATE THE
60 -- EXPECTED RESULT (TENTATIVELY PASSED).
61 -- RLB 03/20/00 CORRECTED PASS/FAIL CRITERIA TO REFLECT PROPER RESULT
62 -- FOR AN IMPLEMENTATION THAT DOES NOT SUPPORT EXTERNAL FILES.
64 WITH REPORT
; USE REPORT
;
65 WITH TEXT_IO
; USE TEXT_IO
;
70 NULL_FILE
: FILE_TYPE
;
71 FILE_WITH_BLANK_LINES
: FILE_TYPE
;
72 FILE_WITH_BLANK_PAGES
: FILE_TYPE
;
73 FILE_WITH_TRAILING_BLANKS
: FILE_TYPE
;
74 FILE_WITHOUT_TRAILING_BLANKS
: FILE_TYPE
;
75 FILE_WITH_END_OF_LINE_ERROR
: FILE_TYPE
;
76 FILE_WITH_END_OF_PAGE_ERROR
: FILE_TYPE
;
77 FILE_WITH_END_OF_FILE_ERROR
: FILE_TYPE
;
78 FILE_WITH_DATA_ERROR
: FILE_TYPE
;
82 TEST
("CZ1103A", "CHECK THAT PROCEDURE CHECK_FILE WORKS");
84 -- THIS SECTION TESTS CHECK_FILE WITH AN EMPTY FILE.
87 COMMENT
("BEGIN TEST WITH AN EMPTY FILE");
88 CREATE
(NULL_FILE
, OUT_FILE
);
89 CHECK_FILE
(NULL_FILE
, "#@%");
93 FAILED
("TEST WITH EMPTY FILE INCOMPLETE");
97 -- THIS SECTION TESTS CHECK_FILE WITH A FILE WITH BLANK LINES.
100 COMMENT
("BEGIN TEST WITH A FILE WITH BLANK LINES");
101 CREATE
(FILE_WITH_BLANK_LINES
, OUT_FILE
);
102 NEW_LINE
(FILE_WITH_BLANK_LINES
, 20);
103 CHECK_FILE
(FILE_WITH_BLANK_LINES
, "####################@%");
104 CLOSE
(FILE_WITH_BLANK_LINES
);
107 FAILED
("TEST WITH FILE WITH BLANK LINES INCOMPLETE");
110 -- THIS SECTION TESTS CHECK_FILE WITH A FILE WITH BLANK LINES AND PAGES.
113 COMMENT
("BEGIN TEST WITH A FILE WITH BLANK LINES " &
115 CREATE
(FILE_WITH_BLANK_PAGES
, OUT_FILE
);
116 NEW_LINE
(FILE_WITH_BLANK_PAGES
, 3);
117 NEW_PAGE
(FILE_WITH_BLANK_PAGES
);
118 NEW_LINE
(FILE_WITH_BLANK_PAGES
, 2);
119 NEW_PAGE
(FILE_WITH_BLANK_PAGES
);
120 NEW_PAGE
(FILE_WITH_BLANK_PAGES
);
121 CHECK_FILE
(FILE_WITH_BLANK_PAGES
, "###@##@#@%");
122 CLOSE
(FILE_WITH_BLANK_PAGES
);
125 FAILED
("TEST WITH FILE WITH BLANK PAGES INCOMPLETE");
128 -- THIS SECTION TESTS CHECK_FILE WITH A FILE WITH TRAILING BLANKS.
131 COMMENT
("BEGIN TEST WITH A FILE WITH TRAILING BLANKS");
132 CREATE
(FILE_WITH_TRAILING_BLANKS
, OUT_FILE
);
134 PUT_LINE
(FILE_WITH_TRAILING_BLANKS
,
135 "LINE WITH TRAILING BLANKS ");
137 CHECK_FILE
(FILE_WITH_TRAILING_BLANKS
, "LINE WITH TRAILING" &
138 " BLANKS#LINE WITH TRAILING BLANKS#LINE" &
139 " WITH TRAILING BLANKS#@%");
140 CLOSE
(FILE_WITH_TRAILING_BLANKS
);
143 FAILED
("TEST WITH FILE WITH TRAILING BLANKS " &
147 -- THIS SECTION TESTS CHECK_FILE WITH A FILE WITHOUT TRAILING BLANKS.
150 COMMENT
("BEGIN TEST WITH A FILE WITHOUT TRAILING BLANKS");
151 CREATE
(FILE_WITHOUT_TRAILING_BLANKS
, OUT_FILE
);
153 PUT_LINE
(FILE_WITHOUT_TRAILING_BLANKS
,
154 "LINE WITHOUT TRAILING BLANKS");
156 CHECK_FILE
(FILE_WITHOUT_TRAILING_BLANKS
, "LINE WITHOUT " &
157 "TRAILING BLANKS#LINE WITHOUT TRAILING BLANKS#" &
158 "LINE WITHOUT TRAILING BLANKS#@%");
159 CLOSE
(FILE_WITHOUT_TRAILING_BLANKS
);
162 FAILED
("TEST WITH FILE WITHOUT TRAILING BLANKS " &
166 -- THIS SECTION TESTS CHECK_FILE WITH A FILE WITH AN END OF LINE ERROR.
169 COMMENT
("BEGIN TEST WITH A FILE WITH AN END OF LINE ERROR");
170 CREATE
(FILE_WITH_END_OF_LINE_ERROR
, OUT_FILE
);
171 PUT_LINE
(FILE_WITH_END_OF_LINE_ERROR
, "THIS LINE WILL " &
172 "CONTAIN AN END OF LINE IN THE WRONG PLACE");
173 CHECK_FILE
(FILE_WITH_END_OF_LINE_ERROR
, "THIS LINE WILL " &
174 "CONTAIN AN # IN THE WRONG PLACE#@%");
175 CLOSE
(FILE_WITH_END_OF_LINE_ERROR
);
178 FAILED
("TEST WITH END_OF_LINE ERROR INCOMPLETE");
181 -- THIS SECTION TESTS CHECK_FILE WITH A FILE WITH AN END OF PAGE ERROR.
184 COMMENT
("BEGIN TEST WITH FILE WITH END OF PAGE ERROR");
185 CREATE
(FILE_WITH_END_OF_PAGE_ERROR
, OUT_FILE
);
186 PUT_LINE
(FILE_WITH_END_OF_PAGE_ERROR
, "THIS LINE WILL " &
187 "CONTAIN AN END OF PAGE IN THE WRONG PLACE");
188 CHECK_FILE
(FILE_WITH_END_OF_PAGE_ERROR
, "THIS LINE WILL " &
189 "CONTAIN AN @ IN THE WRONG PLACE#@%");
190 CLOSE
(FILE_WITH_END_OF_PAGE_ERROR
);
193 FAILED
("TEST WITH END_OF_PAGE ERROR INCOMPLETE");
196 -- THIS SECTION TESTS CHECK_FILE WITH A FILE WITH AN END OF FILE ERROR.
199 COMMENT
("BEGIN TEST WITH FILE WITH END OF FILE ERROR");
200 CREATE
(FILE_WITH_END_OF_FILE_ERROR
, OUT_FILE
);
201 PUT_LINE
(FILE_WITH_END_OF_FILE_ERROR
, "THIS LINE WILL " &
202 "CONTAIN AN END OF FILE IN THE WRONG PLACE");
203 CHECK_FILE
(FILE_WITH_END_OF_FILE_ERROR
, "THIS LINE WILL " &
204 "CONTAIN AN % IN THE WRONG PLACE#@%");
205 CLOSE
(FILE_WITH_END_OF_FILE_ERROR
);
208 FAILED
("TEST WITH END_OF_FILE ERROR INCOMPLETE");
211 -- THIS SECTION TESTS CHECK_FILE WITH A FILE WITH INCORRECT DATA.
214 COMMENT
("BEGIN TEST WITH FILE WITH INCORRECT DATA");
215 CREATE
(FILE_WITH_DATA_ERROR
, OUT_FILE
);
216 PUT_LINE
(FILE_WITH_DATA_ERROR
, "LINE WITH INCORRECT " &
218 CHECK_FILE
(FILE_WITH_DATA_ERROR
, "LINE WITH CORRECT " &
220 CLOSE
(FILE_WITH_DATA_ERROR
);
223 FAILED
("TEST WITH INCORRECT DATA INCOMPLETE");
228 TEST
("CZ1103A", "THE LINE ABOVE SHOULD REPORT FAILURE");
229 SPECIAL_ACTION
("COMPARE THIS OUTPUT TO THE EXPECTED RESULT");