1-- REPSPEC.ADA 2-- 3-- Grant of Unlimited Rights 4-- 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 14-- to do so. 15-- 16-- DISCLAIMER 17-- 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. 24--* 25-- 26-- PURPOSE: 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. 30 31-- IT ALSO PROVIDES THE MECHANISM FOR GUARANTEEING THAT CERTAIN 32-- VALUES BECOME DYNAMIC (NOT KNOWN AT COMPILE-TIME). 33 34-- HISTORY: 35-- JRK 12/13/79 36-- JRK 06/10/80 37-- JRK 08/06/81 38-- JRK 10/27/82 39-- JRK 06/01/84 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. 46 47PACKAGE REPORT IS 48 49 SUBTYPE FILE_NUM IS INTEGER RANGE 1..5; 50 51 -- THE REPORT ROUTINES. 52 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 " & 61 -- "IDENTIFIERS". 62 ); 63 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...". 70 ); 71 72 PROCEDURE NOT_APPLICABLE -- OUTPUT A NOT-APPLICABLE MESSAGE. 73 -- SHOULD BE INVOKED SEPARATELY TO REPORT 74 -- THE NON-APPLICABILITY OF EACH SUBTEST 75 -- WITHIN A TEST. 76 ( DESCR : STRING -- BRIEF DESCRIPTION OF WHAT IS 77 -- NOT-APPLICABLE. SHOULD BE PHRASED AS: 78 -- "(NOT-APPLICABLE BECAUSE)...REASON...". 79 ); 80 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 86 -- TAKEN. 87 ); 88 89 PROCEDURE COMMENT -- OUTPUT A COMMENT MESSAGE. 90 ( DESCR : STRING -- THE MESSAGE. 91 ); 92 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. 99 100 -- THE DYNAMIC VALUE ROUTINES. 101 102 -- EVEN WITH STATIC ARGUMENTS, THESE FUNCTIONS WILL HAVE DYNAMIC 103 -- RESULTS. 104 105 FUNCTION IDENT_INT -- AN IDENTITY FUNCTION FOR TYPE INTEGER. 106 ( X : INTEGER -- THE ARGUMENT. 107 ) RETURN INTEGER; -- X. 108 109 FUNCTION IDENT_CHAR -- AN IDENTITY FUNCTION FOR TYPE 110 -- CHARACTER. 111 ( X : CHARACTER -- THE ARGUMENT. 112 ) RETURN CHARACTER; -- X. 113 114 FUNCTION IDENT_WIDE_CHAR -- AN IDENTITY FUNCTION FOR TYPE 115 -- WIDE_CHARACTER. 116 ( X : WIDE_CHARACTER -- THE ARGUMENT. 117 ) RETURN WIDE_CHARACTER; -- X. 118 119 FUNCTION IDENT_BOOL -- AN IDENTITY FUNCTION FOR TYPE BOOLEAN. 120 ( X : BOOLEAN -- THE ARGUMENT. 121 ) RETURN BOOLEAN; -- X. 122 123 FUNCTION IDENT_STR -- AN IDENTITY FUNCTION FOR TYPE STRING. 124 ( X : STRING -- THE ARGUMENT. 125 ) RETURN STRING; -- X. 126 127 FUNCTION IDENT_WIDE_STR -- AN IDENTITY FUNCTION FOR TYPE WIDE_STRING. 128 ( X : WIDE_STRING -- THE ARGUMENT. 129 ) RETURN WIDE_STRING; -- X. 130 131 FUNCTION EQUAL -- A RECURSIVE EQUALITY FUNCTION FOR TYPE 132 -- INTEGER. 133 ( X, Y : INTEGER -- THE ARGUMENTS. 134 ) RETURN BOOLEAN; -- X = Y. 135 136-- OTHER UTILITY ROUTINES. 137 138 FUNCTION LEGAL_FILE_NAME -- A FUNCTION TO GENERATE LEGAL EXTERNAL 139 -- FILE NAMES. 140 ( X : FILE_NUM := 1; -- DETERMINES FIRST CHARACTER OF NAME. 141 NAM : STRING := "" -- DETERMINES REST OF NAME. 142 ) RETURN STRING; -- THE GENERATED NAME. 143 144 FUNCTION TIME_STAMP -- A FUNCTION TO GENERATE THE TIME AND 145 -- DATE TO PLACE IN THE OUTPUT OF AN ACVC 146 -- TEST. 147 RETURN STRING; -- THE TIME AND DATE. 148 149END REPORT; 150