OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [ada/] [acats/] [tests/] [ce/] [ce2411a.ada] - Blame information for rev 720

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 720 jeremybenn
-- CE2411A.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 INDEX RETURNS THE CORRECT INDEX POSITION AND THAT
27
--     SET_INDEX CORRECTLY SETS THE INDEX POSITION IN A DIRECT FILE.
28
 
29
-- APPLICABILITY CRITERIA:
30
--     THIS TEST IS ONLY APPLICABLE TO IMPLEMENTATIONS WHICH SUPPORT
31
--     DIRECT FILES.
32
 
33
-- HISTORY:
34
--     TBN 10/01/86
35
--     JLH 08/07/87  REVISED EXTERNAL FILE NAME, REMOVED CHECK FOR
36
--                   NAME_ERROR ON OPEN CALLS, AND REMOVED
37
--                   UNNECESSARY CODE.
38
 
39
WITH DIRECT_IO;
40
WITH REPORT; USE REPORT;
41
PROCEDURE CE2411A IS
42
 
43
     PACKAGE DIR_IO IS NEW DIRECT_IO (INTEGER);
44
     USE DIR_IO;
45
 
46
     FILE1 : FILE_TYPE;
47
     INCOMPLETE : EXCEPTION;
48
 
49
BEGIN
50
     TEST ("CE2411A", "CHECK THAT INDEX RETURNS THE CORRECT INDEX " &
51
                      "POSITION AND THAT SET_INDEX CORRECTLY SETS " &
52
                      "THE INDEX POSITION IN A DIRECT FILE");
53
 
54
 
55
     -- INITIALIZE TEST FILE
56
 
57
     BEGIN
58
          CREATE (FILE1, OUT_FILE, LEGAL_FILE_NAME);
59
     EXCEPTION
60
          WHEN NAME_ERROR =>
61
               NOT_APPLICABLE ("NAME_ERROR RAISED DURING CREATE " &
62
                               "WITH OUT_FILE MODE FOR DIR_IO");
63
               RAISE INCOMPLETE;
64
          WHEN USE_ERROR =>
65
               NOT_APPLICABLE ("USE_ERROR RAISED DURING CREATE " &
66
                               "WITH OUT_FILE MODE FOR DIR_IO");
67
               RAISE INCOMPLETE;
68
          WHEN OTHERS =>
69
               FAILED ("UNKNOWN EXCEPTION RAISED DURING CREATE");
70
               RAISE INCOMPLETE;
71
     END;
72
 
73
     BEGIN
74
          IF INDEX (FILE1) /= 1 THEN
75
               FAILED ("STARTING INDEX POSITION IS INCORRECT - 1");
76
               RAISE INCOMPLETE;
77
          END IF;
78
          FOR I IN 1 .. 10 LOOP
79
               WRITE (FILE1, I);
80
          END LOOP;
81
          IF INDEX (FILE1) /= 11 THEN
82
               FAILED ("INDEX DOES NOT RETURN CORRECT POSITION - 2");
83
          END IF;
84
          WRITE (FILE1, 20, 20);
85
          IF INDEX (FILE1) /= 21 THEN
86
               FAILED ("INDEX DOES NOT RETURN CORRECT POSITION - 3");
87
          END IF;
88
          SET_INDEX (FILE1, 11);
89
          IF INDEX (FILE1) /= 11 THEN
90
               FAILED ("SET_INDEX DOES NOT CORRECTLY SET POSITION - 4");
91
          END IF;
92
          WRITE (FILE1, 11);
93
          IF INDEX (FILE1) /= 12 THEN
94
               FAILED ("INDEX DOES NOT RETURN CORRECT POSITION - 5");
95
          END IF;
96
     END;
97
 
98
     CLOSE (FILE1);
99
 
100
     BEGIN
101
          OPEN (FILE1, IN_FILE, LEGAL_FILE_NAME);
102
     EXCEPTION
103
          WHEN USE_ERROR =>
104
               NOT_APPLICABLE ("USE_ERROR RAISED DURING OPEN INFILE " &
105
                               "FOR DIR_IO");
106
               RAISE INCOMPLETE;
107
          WHEN OTHERS =>
108
               FAILED ("UNKNOWN EXCEPTION RAISED DURING OPEN INFILE");
109
               RAISE INCOMPLETE;
110
     END;
111
 
112
     DECLARE
113
          NUM : INTEGER;
114
     BEGIN
115
          IF INDEX (FILE1) /= 1 THEN
116
               FAILED ("STARTING INDEX POSITION IS INCORRECT - 7");
117
               RAISE INCOMPLETE;
118
          END IF;
119
          FOR I IN 1 .. 10 LOOP
120
               READ (FILE1, NUM);
121
               IF NUM /= I THEN
122
                    FAILED ("FILE CONTAINS INCORRECT DATA - 8");
123
               END IF;
124
               IF INDEX (FILE1) /= POSITIVE_COUNT(I + 1) THEN
125
                    FAILED ("INDEX DOES NOT RETURN THE CORRECT " &
126
                            "POSITION - 9");
127
               END IF;
128
          END LOOP;
129
          SET_INDEX (FILE1, 20);
130
          IF INDEX (FILE1) /= 20 THEN
131
               FAILED ("SET_INDEX DOES NOT CORRECTLY SET POSITION - " &
132
                       "10");
133
          END IF;
134
          READ (FILE1, NUM, 20);
135
          IF NUM /= 20 THEN
136
               FAILED ("FILE CONTAINS INCORRECT DATA - 11");
137
          END IF;
138
          IF INDEX (FILE1) /= 21 THEN
139
               FAILED ("INDEX DOES NOT RETURN CORRECT POSITION - 12");
140
          END IF;
141
          SET_INDEX (FILE1, 1);
142
          IF INDEX (FILE1) /= 1 THEN
143
               FAILED ("SET_INDEX DOES NOT CORRECTLY SET POSITION - " &
144
                       "13");
145
          END IF;
146
     END;
147
 
148
     CLOSE (FILE1);
149
 
150
     BEGIN
151
          OPEN (FILE1, INOUT_FILE, LEGAL_FILE_NAME);
152
     EXCEPTION
153
          WHEN USE_ERROR =>
154
               NOT_APPLICABLE ("USE_ERROR RAISED DURING OPEN " &
155
                               "INOUT_FILE FOR DIR_IO");
156
               RAISE INCOMPLETE;
157
          WHEN OTHERS =>
158
               FAILED ("UNKNOWN EXCEPTION RAISED DURING OPEN INOUT");
159
               RAISE INCOMPLETE;
160
     END;
161
 
162
     DECLARE
163
          NUM : INTEGER;
164
     BEGIN
165
          IF INDEX (FILE1) /= 1 THEN
166
               FAILED ("STARTING INDEX POSITION IS INCORRECT - 15");
167
               RAISE INCOMPLETE;
168
          END IF;
169
          FOR I IN 1 .. 10 LOOP
170
               READ (FILE1, NUM);
171
               IF NUM /= I THEN
172
                    FAILED ("FILE CONTAINS INCORRECT DATA - 16");
173
               END IF;
174
               IF INDEX (FILE1) /= POSITIVE_COUNT(I + 1) THEN
175
                    FAILED ("INDEX DOES NOT RETURN THE CORRECT " &
176
                            "POSITION - 17");
177
               END IF;
178
          END LOOP;
179
          SET_INDEX (FILE1, 20);
180
          IF INDEX (FILE1) /= 20 THEN
181
               FAILED ("SET_INDEX DOES NOT CORRECTLY SET POSITION - " &
182
                       "18");
183
          END IF;
184
          WRITE (FILE1, 12, 12);
185
          IF INDEX (FILE1) /= 13 THEN
186
               FAILED ("INDEX DOES NOT RETURN CORRECT POSITION - 19");
187
          END IF;
188
          SET_INDEX (FILE1, 1);
189
          IF INDEX (FILE1) /= 1 THEN
190
               FAILED ("SET_INDEX DOES NOT CORRECTLY SET POSITION - " &
191
                       "20");
192
          END IF;
193
     END;
194
 
195
     BEGIN
196
          DELETE (FILE1);
197
     EXCEPTION
198
          WHEN USE_ERROR =>
199
               NULL;
200
     END;
201
 
202
     RESULT;
203
 
204
EXCEPTION
205
     WHEN INCOMPLETE =>
206
          RESULT;
207
END CE2411A;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.