1-- CE2104B.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-- OBJECTIVE: 26-- CHECK THAT THE NAME RETURNED BY NAME CAN BE USED IN A 27-- SUBSEQUENT OPEN. 28 29-- A) SEQUENTIAL FILES 30 31-- APPLICABILITY CRITERIA: 32-- THIS TEST IS APPLICABLE ONLY TO IMPLEMENTATIONS WHOSE 33-- ENVIRONMENT SUPPORTS CREATE/OPEN FOR THE GIVEN MODE. 34 35-- HISTORY: 36-- DLD 08/11/82 37-- SPS 11/09/82 38-- JBG 03/24/83 39-- EG 05/31/85 40-- TBN 11/04/86 ADDED A RAISE INCOMPLETE STATEMENT WHEN FAILED IS 41-- CALLED FOR OPEN OR CREATE. 42-- SPW 08/07/87 REMOVED UNNECESSARY CODE AND CORRECTED EXCEPTION 43-- HANDLING. 44 45WITH SEQUENTIAL_IO; 46WITH REPORT; USE REPORT; 47 48PROCEDURE CE2104B IS 49 50 PACKAGE SEQ_IO IS NEW SEQUENTIAL_IO(INTEGER); 51 USE SEQ_IO; 52 TYPE ACC_STR IS ACCESS STRING; 53 54 SEQ_FILE_ONE : SEQ_IO.FILE_TYPE; 55 SEQ_FILE_TWO : SEQ_IO.FILE_TYPE; 56 SEQ_FILE_NAME : ACC_STR; 57 VAR : INTEGER; 58 INCOMPLETE : EXCEPTION; 59 60BEGIN 61 62 TEST ("CE2104B", "CHECK THAT THE NAME RETURNED BY NAME " & 63 "CAN BE USED IN A SUBSEQUENT OPEN"); 64 65-- CREATE TEST FILE 66 67 BEGIN 68 CREATE(SEQ_FILE_ONE, OUT_FILE, LEGAL_FILE_NAME); 69 EXCEPTION 70 WHEN USE_ERROR => 71 NOT_APPLICABLE ("USE_ERROR RAISED ON CREATE WITH " & 72 "OUT_FILE MODE"); 73 RAISE INCOMPLETE; 74 WHEN NAME_ERROR => 75 NOT_APPLICABLE ("NAME_ERROR RAISED ON CREATE WITH " & 76 "OUT_FILE MODE"); 77 RAISE INCOMPLETE; 78 WHEN OTHERS => 79 FAILED ("UNEXPECTED EXCEPTION RAISED ON CREATE"); 80 RAISE INCOMPLETE; 81 END; 82 83 WRITE (SEQ_FILE_ONE, 14); 84 SEQ_FILE_NAME := NEW STRING'(NAME(SEQ_FILE_ONE)); 85 CLOSE (SEQ_FILE_ONE); 86 87-- ATTEMPT TO RE-OPEN SEQUENTIAL TEST FILE USING RETURNED NAME VALUE 88 89 BEGIN 90 OPEN (SEQ_FILE_TWO, IN_FILE, SEQ_FILE_NAME.ALL); 91 EXCEPTION 92 WHEN SEQ_IO.USE_ERROR => 93 NOT_APPLICABLE ("USE_ERROR RAISED ON OPEN WITH " & 94 "IN_FILE MODE"); 95 RAISE INCOMPLETE; 96 WHEN SEQ_IO.NAME_ERROR => 97 FAILED ("STRING NOT ACCEPTED AS NAME FOR FILE - SEQ"); 98 RAISE INCOMPLETE; 99 WHEN OTHERS => 100 FAILED ("FILE NOT RE-OPENED - SEQ"); 101 RAISE INCOMPLETE; 102 END; 103 104 READ (SEQ_FILE_TWO, VAR); 105 IF VAR /= 14 THEN 106 FAILED ("WRONG DATA RETURNED FROM READ -SEQ"); 107 END IF; 108 109-- DELETE TEST FILE 110 111 BEGIN 112 DELETE (SEQ_FILE_TWO); 113 EXCEPTION 114 WHEN USE_ERROR => 115 COMMENT ("DELETION OF EXTERNAL FILE IS NOT SUPPORTED"); 116 END; 117 118 RESULT; 119 120EXCEPTION 121 122 WHEN INCOMPLETE => 123 RESULT; 124 125END CE2104B; 126