source: rtems/c/src/ada-tests/sptests/sp21/sptest.adb @ bf9ae83

4.104.114.84.95
Last change on this file since bf9ae83 was bf9ae83, checked in by Joel Sherrill <joel.sherrill@…>, on 06/02/97 at 20:32:11

modified copyright notice to be the same as RTEMS 4.0.0.

changed the CVS ID string to be a "development" version.

  • Property mode set to 100644
File size: 6.2 KB
Line 
1--
2--  SPTEST / BODY
3--
4--  DESCRIPTION:
5--
6--  This package is the implementation of Test 21 of the RTEMS
7--  Single Processor Test Suite.
8--
9--  DEPENDENCIES:
10--
11-- 
12--
13--  COPYRIGHT (c) 1989-1997.
14--  On-Line Applications Research Corporation (OAR).
15--  Copyright assigned to U.S. Government, 1994.
16--
17--  The license and distribution terms for this file may in
18--  the file LICENSE in this distribution or at
19--  http://www.OARcorp.com/rtems/license.html.
20--
21--  $Id$
22--
23
24with INTERFACES; use INTERFACES;
25with RTEMS;
26with TEST_SUPPORT;
27with TEXT_IO;
28
29package body SPTEST is
30
31--PAGE
32--
33--  INIT
34--
35
36   procedure INIT (
37      ARGUMENT : in     RTEMS.TASK_ARGUMENT
38   ) is
39      STATUS : RTEMS.STATUS_CODES;
40   begin
41
42      TEXT_IO.NEW_LINE( 2 );
43      TEXT_IO.PUT_LINE( "*** TEST 21 ***" );
44
45      SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME(  'T', 'A', '1', ' ' );
46
47      RTEMS.TASK_CREATE(
48         SPTEST.TASK_NAME( 1 ),
49         1,
50         2048,
51         RTEMS.DEFAULT_MODES,
52         RTEMS.DEFAULT_ATTRIBUTES,
53         SPTEST.TASK_ID( 1 ),
54         STATUS
55      );
56      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" );
57
58      RTEMS.TASK_START(
59         SPTEST.TASK_ID( 1 ),
60         SPTEST.TASK_1'ACCESS,
61         0,
62         STATUS
63      );
64      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" );
65
66      RTEMS.TASK_DELETE( RTEMS.SELF, STATUS );
67      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" );
68
69   end INIT;
70
71--PAGE
72--
73--  TASK_1
74--
75
76   procedure TASK_1 (
77      ARGUMENT : in     RTEMS.TASK_ARGUMENT
78   ) is
79      RETURN_VALUE : RTEMS.UNSIGNED32;
80      STATUS       : RTEMS.STATUS_CODES;
81   begin
82
83      TEXT_IO.PUT_LINE( "----- TESTING THE NULL DRIVER CHECKS -----" );
84
85      RTEMS.IO_INITIALIZE(
86         SPTEST.NO_DRIVER_MAJOR,
87         0,
88         RTEMS.NULL_ADDRESS,
89         RETURN_VALUE,
90         STATUS
91      );
92      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_INITIALIZE" );
93      TEXT_IO.PUT_LINE(
94         "TA1 - io_initialize - NULL DRIVER SUCCESSFUL"
95      );
96   
97      RTEMS.IO_OPEN(
98         SPTEST.NO_DRIVER_MAJOR,
99         0,
100         RTEMS.NULL_ADDRESS,
101         RETURN_VALUE,
102         STATUS
103      );
104      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_OPEN" );
105      TEXT_IO.PUT_LINE(
106         "TA1 - io_open       - NULL DRIVER SUCCESSFUL"
107      );
108   
109      RTEMS.IO_CLOSE(
110         SPTEST.NO_DRIVER_MAJOR,
111         0,
112         RTEMS.NULL_ADDRESS,
113         RETURN_VALUE,
114         STATUS
115      );
116      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CLOSE" );
117      TEXT_IO.PUT_LINE(
118         "TA1 - io_close      - NULL DRIVER SUCCESSFUL"
119      );
120   
121      RTEMS.IO_READ(
122         SPTEST.NO_DRIVER_MAJOR,
123         0,
124         RTEMS.NULL_ADDRESS,
125         RETURN_VALUE,
126         STATUS
127      );
128      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_READ" );
129      TEXT_IO.PUT_LINE(
130         "TA1 - io_read       - NULL DRIVER SUCCESSFUL"
131      );
132   
133      RTEMS.IO_WRITE(
134         SPTEST.NO_DRIVER_MAJOR,
135         0,
136         RTEMS.NULL_ADDRESS,
137         RETURN_VALUE,
138         STATUS
139      );
140      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_WRITE" );
141      TEXT_IO.PUT_LINE(
142         "TA1 - io_write      - NULL DRIVER SUCCESSFUL"
143      );
144   
145      RTEMS.IO_CONTROL(
146         SPTEST.NO_DRIVER_MAJOR,
147         0,
148         RTEMS.NULL_ADDRESS,
149         RETURN_VALUE,
150         STATUS
151      );
152      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CONTROL" );
153      TEXT_IO.PUT_LINE(
154         "TA1 - io_control    - NULL DRIVER SUCCESSFUL"
155      );
156   
157      TEXT_IO.PUT_LINE( "----- TESTING THE I/O MANAGER DIRECTIVES -----" );
158
159      RTEMS.IO_INITIALIZE(
160         SPTEST.STUB_DRIVER_MAJOR,
161         0,
162         RTEMS.NULL_ADDRESS,
163         RETURN_VALUE,
164         STATUS
165      );
166      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_INITIALIZE" );
167      TEXT_IO.PUT_LINE(
168         "TA1 - io_initialize - STUB DRIVER SUCCESSFUL"
169      );
170   
171      RTEMS.IO_OPEN(
172         SPTEST.STUB_DRIVER_MAJOR,
173         0,
174         RTEMS.NULL_ADDRESS,
175         RETURN_VALUE,
176         STATUS
177      );
178      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_OPEN" );
179      TEXT_IO.PUT_LINE(
180         "TA1 - io_open       - STUB DRIVER SUCCESSFUL"
181      );
182   
183      RTEMS.IO_CLOSE(
184         SPTEST.STUB_DRIVER_MAJOR,
185         0,
186         RTEMS.NULL_ADDRESS,
187         RETURN_VALUE,
188         STATUS
189      );
190      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CLOSE" );
191      TEXT_IO.PUT_LINE(
192         "TA1 - io_close      - STUB DRIVER SUCCESSFUL"
193      );
194   
195      RTEMS.IO_READ(
196         SPTEST.STUB_DRIVER_MAJOR,
197         0,
198         RTEMS.NULL_ADDRESS,
199         RETURN_VALUE,
200         STATUS
201      );
202      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_READ" );
203      TEXT_IO.PUT_LINE(
204         "TA1 - io_read       - STUB DRIVER SUCCESSFUL"
205      );
206   
207      RTEMS.IO_WRITE(
208         SPTEST.STUB_DRIVER_MAJOR,
209         0,
210         RTEMS.NULL_ADDRESS,
211         RETURN_VALUE,
212         STATUS
213      );
214      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_WRITE" );
215      TEXT_IO.PUT_LINE(
216         "TA1 - io_write      - STUB DRIVER SUCCESSFUL"
217      );
218   
219      RTEMS.IO_CONTROL(
220         SPTEST.STUB_DRIVER_MAJOR,
221         0,
222         RTEMS.NULL_ADDRESS,
223         RETURN_VALUE,
224         STATUS
225      );
226      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CONTROL" );
227      TEXT_IO.PUT_LINE(
228         "TA1 - io_control    - STUB DRIVER SUCCESSFUL"
229      );
230
231      TEXT_IO.PUT_LINE( "----- RETURNING INVALID MAJOR NUMBER -----" );
232
233      RTEMS.IO_INITIALIZE(
234         SPTEST.INVALID_DRIVER_MAJOR,
235         0,
236         RTEMS.NULL_ADDRESS,
237         RETURN_VALUE,
238         STATUS
239      );
240      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
241         STATUS,
242         RTEMS.INVALID_NUMBER,
243         "IO_INITIALIZE"
244      );
245      TEXT_IO.PUT_LINE(
246         "TA1 - io_initialize - INVALID_NUMBER"
247      );
248   
249      RTEMS.IO_OPEN(
250         SPTEST.INVALID_DRIVER_MAJOR,
251         0,
252         RTEMS.NULL_ADDRESS,
253         RETURN_VALUE,
254         STATUS
255      );
256      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
257         STATUS,
258         RTEMS.INVALID_NUMBER,
259         "IO_OPEN"
260      );
261      TEXT_IO.PUT_LINE(
262         "TA1 - io_open       - INVALID_NUMBER"
263      );
264   
265      TEXT_IO.PUT_LINE( "*** END OF TEST 21 ***" );
266      RTEMS.SHUTDOWN_EXECUTIVE( 0 );
267   
268   end TASK_1;
269
270end SPTEST;
Note: See TracBrowser for help on using the repository browser.