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 -- THIS REPORT PACKAGE PROVIDES THE MECHANISM FOR REPORTING THE
28 -- PASS/FAIL/NOT-APPLICABLE RESULTS OF EXECUTABLE (CLASSES A, C,
29 -- D, E, AND L) TESTS.
31 -- IT ALSO PROVIDES THE MECHANISM FOR GUARANTEEING THAT CERTAIN
32 -- VALUES BECOME DYNAMIC (NOT KNOWN AT COMPILE-TIME).
40 -- PWB 07/30/87 ADDED PROCEDURE SPECIAL_ACTION.
41 -- TBN 08/20/87 ADDED FUNCTION LEGAL_FILE_NAME.
42 -- BCB 05/17/90 ADDED FUNCTION TIME_STAMP.
43 -- WMC 01/24/94 INCREASED RANGE OF TYPE FILE_NUM FROM 1..3 TO 1..5.
44 -- KAS 06/19/95 ADDED FUNCTION IDENT_WIDE_CHAR.
45 -- KAS 06/19/95 ADDED FUNCTION IDENT_WIDE_STR.
49 SUBTYPE FILE_NUM
IS INTEGER RANGE 1..5;
51 -- THE REPORT ROUTINES.
53 PROCEDURE TEST
-- THIS ROUTINE MUST BE INVOKED AT THE
54 -- START OF A TEST, BEFORE ANY OF THE
55 -- OTHER REPORT ROUTINES ARE INVOKED.
56 -- IT SAVES THE TEST NAME AND OUTPUTS THE
57 -- NAME AND DESCRIPTION.
58 ( NAME
: STRING; -- TEST NAME, E.G., "C23001A-AB".
59 DESCR
: STRING -- BRIEF DESCRIPTION OF TEST, E.G.,
60 -- "UPPER/LOWER CASE EQUIVALENCE IN " &
64 PROCEDURE FAILED
-- OUTPUT A FAILURE MESSAGE. SHOULD BE
65 -- INVOKED SEPARATELY TO REPORT THE
66 -- FAILURE OF EACH SUBTEST WITHIN A TEST.
67 ( DESCR
: STRING -- BRIEF DESCRIPTION OF WHAT FAILED.
68 -- SHOULD BE PHRASED AS:
69 -- "(FAILED BECAUSE) ...REASON...".
72 PROCEDURE NOT_APPLICABLE
-- OUTPUT A NOT-APPLICABLE MESSAGE.
73 -- SHOULD BE INVOKED SEPARATELY TO REPORT
74 -- THE NON-APPLICABILITY OF EACH SUBTEST
76 ( DESCR
: STRING -- BRIEF DESCRIPTION OF WHAT IS
77 -- NOT-APPLICABLE. SHOULD BE PHRASED AS:
78 -- "(NOT-APPLICABLE BECAUSE)...REASON...".
81 PROCEDURE SPECIAL_ACTION
-- OUTPUT A MESSAGE DESCRIBING SPECIAL
82 -- ACTIONS TO BE TAKEN.
83 -- SHOULD BE INVOKED SEPARATELY TO GIVE
84 -- EACH SPECIAL ACTION.
85 ( DESCR
: STRING -- BRIEF DESCRIPTION OF ACTION TO BE
89 PROCEDURE COMMENT
-- OUTPUT A COMMENT MESSAGE.
90 ( DESCR
: STRING -- THE MESSAGE.
93 PROCEDURE RESULT
; -- THIS ROUTINE MUST BE INVOKED AT THE
94 -- END OF A TEST. IT OUTPUTS A MESSAGE
95 -- INDICATING WHETHER THE TEST AS A
96 -- WHOLE HAS PASSED, FAILED, IS
97 -- NOT-APPLICABLE, OR HAS TENTATIVELY
98 -- PASSED PENDING SPECIAL ACTIONS.
100 -- THE DYNAMIC VALUE ROUTINES.
102 -- EVEN WITH STATIC ARGUMENTS, THESE FUNCTIONS WILL HAVE DYNAMIC
105 FUNCTION IDENT_INT
-- AN IDENTITY FUNCTION FOR TYPE INTEGER.
106 ( X
: INTEGER -- THE ARGUMENT.
107 ) RETURN INTEGER; -- X.
109 FUNCTION IDENT_CHAR
-- AN IDENTITY FUNCTION FOR TYPE
111 ( X
: CHARACTER -- THE ARGUMENT.
112 ) RETURN CHARACTER; -- X.
114 FUNCTION IDENT_WIDE_CHAR
-- AN IDENTITY FUNCTION FOR TYPE
116 ( X
: WIDE_CHARACTER -- THE ARGUMENT.
117 ) RETURN WIDE_CHARACTER; -- X.
119 FUNCTION IDENT_BOOL
-- AN IDENTITY FUNCTION FOR TYPE BOOLEAN.
120 ( X
: BOOLEAN -- THE ARGUMENT.
121 ) RETURN BOOLEAN; -- X.
123 FUNCTION IDENT_STR
-- AN IDENTITY FUNCTION FOR TYPE STRING.
124 ( X
: STRING -- THE ARGUMENT.
125 ) RETURN STRING; -- X.
127 FUNCTION IDENT_WIDE_STR
-- AN IDENTITY FUNCTION FOR TYPE WIDE_STRING.
128 ( X
: WIDE_STRING -- THE ARGUMENT.
129 ) RETURN WIDE_STRING; -- X.
131 FUNCTION EQUAL
-- A RECURSIVE EQUALITY FUNCTION FOR TYPE
133 ( X
, Y
: INTEGER -- THE ARGUMENTS.
134 ) RETURN BOOLEAN; -- X = Y.
136 -- OTHER UTILITY ROUTINES.
138 FUNCTION LEGAL_FILE_NAME
-- A FUNCTION TO GENERATE LEGAL EXTERNAL
140 ( X
: FILE_NUM
:= 1; -- DETERMINES FIRST CHARACTER OF NAME.
141 NAM
: STRING := "" -- DETERMINES REST OF NAME.
142 ) RETURN STRING; -- THE GENERATED NAME.
144 FUNCTION TIME_STAMP
-- A FUNCTION TO GENERATE THE TIME AND
145 -- DATE TO PLACE IN THE OUTPUT OF AN ACVC
147 RETURN STRING; -- THE TIME AND DATE.