source: rtems/testsuites/sptests/sp09/screen01.c @ d5ae827

4.104.115
Last change on this file since d5ae827 was 6afc8dd, checked in by Joel Sherrill <joel.sherrill@…>, on 07/07/09 at 19:39:12

2009-07-07 Joel Sherrill <joel.sherrill@…>

  • sp09/screen01.c, sp09/sp09.scn: Add test for rtems_object_get_classic_name with invalid id.
  • Property mode set to 100644
File size: 6.1 KB
Line 
1/*  Screen1
2 *
3 *  This routine generates error screen 1 for test 9.
4 *
5 *  Input parameters:  NONE
6 *
7 *  Output parameters:  NONE
8 *
9 *  COPYRIGHT (c) 1989-2009.
10 *  On-Line Applications Research Corporation (OAR).
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *  http://www.rtems.com/license/LICENSE.
15 *
16 *  $Id$
17 */
18
19#include "system.h"
20
21void Screen1()
22{
23  uint32_t            notepad_value;
24  rtems_name          task_name;
25  rtems_id            self_id;
26  rtems_task_priority previous_priority;
27  rtems_status_code   status;
28
29  status = rtems_task_delete( 100 );
30  fatal_directive_status(
31    status,
32    RTEMS_INVALID_ID,
33    "rtems_task_delete with illegal id"
34  );
35  puts( "TA1 - rtems_task_delete - RTEMS_INVALID_ID" );
36
37  status = rtems_task_get_note( RTEMS_SELF, 100, &notepad_value );
38  fatal_directive_status(
39    status,
40    RTEMS_INVALID_NUMBER,
41    "rtems_task_get_note with illegal notepad"
42  );
43  puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_NUMBER" );
44
45  status = rtems_task_get_note( 100, RTEMS_NOTEPAD_LAST, &notepad_value );
46  fatal_directive_status(
47    status,
48    RTEMS_INVALID_ID,
49    "rtems_task_get_note with illegal id"
50  );
51  puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" );
52
53  status = rtems_task_get_note(
54    _RTEMS_tasks_Information.maximum_id,
55    RTEMS_NOTEPAD_LAST,
56    &notepad_value
57  );
58  fatal_directive_status(
59    status,
60    RTEMS_INVALID_ID,
61    "rtems_task_get_note with illegal id"
62  );
63  puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" );
64
65  status = rtems_task_get_note(
66    _RTEMS_tasks_Information.minimum_id + (3L<<OBJECTS_API_START_BIT),
67    RTEMS_NOTEPAD_LAST,
68    &notepad_value
69  );
70  fatal_directive_status(
71    status,
72    RTEMS_INVALID_ID,
73    "rtems_task_get_note with illegal id"
74  );
75
76  status = rtems_task_get_note(
77    rtems_build_id( OBJECTS_CLASSIC_API, 2, 1, 1 ),
78    RTEMS_NOTEPAD_LAST,
79    &notepad_value
80  );
81  fatal_directive_status(
82    status,
83    RTEMS_INVALID_ID,
84    "rtems_task_get_note with non-task ID"
85  );
86
87  puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID (no tasks in API)" );
88  status = rtems_task_get_note(
89    rtems_build_id( OBJECTS_ITRON_API, OBJECTS_ITRON_TASKS, 1, 1 ),
90    RTEMS_NOTEPAD_LAST,
91    &notepad_value
92  );
93  fatal_directive_status( status, RTEMS_INVALID_ID,
94    "rtems_task_get_note with no tasks in API"
95  );
96
97  puts( "TA1 - rtems_object_get_classic_name - bad ID" );
98  status = rtems_object_get_classic_name(
99    rtems_build_id( OBJECTS_ITRON_API, OBJECTS_ITRON_TASKS, 1, 1 ),
100    &task_name
101  );
102  fatal_directive_status( status, RTEMS_INVALID_ID,
103    "rtems_object_get_classic_name with no tasks in API"
104  );
105
106  status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &self_id );
107  directive_failed( status, "rtems_task_ident of self" );
108  if ( self_id != Task_id[ 1 ] ) {
109    puts( "ERROR - rtems_task_ident - incorrect ID returned!" );
110  }
111  puts( "TA1 - rtems_task_ident - current task RTEMS_SUCCESSFUL" );
112
113  status = rtems_task_ident( 100, RTEMS_SEARCH_ALL_NODES, &Junk_id );
114  fatal_directive_status(
115    status,
116    RTEMS_INVALID_NAME,
117    "rtems_task_ident with illegal name (local)"
118  );
119  puts( "TA1 - rtems_task_ident - global RTEMS_INVALID_NAME" );
120
121  status = rtems_task_ident( 100, 1, &Junk_id );
122  fatal_directive_status(
123    status,
124    RTEMS_INVALID_NAME,
125    "rtems_task_ident with illegal name (global)"
126  );
127  puts( "TA1 - rtems_task_ident - local RTEMS_INVALID_NAME" );
128
129  /*
130   *  This one case is different if MP is enabled/disabled.
131   */
132
133  status = rtems_task_ident( 100, 2, &Junk_id );
134#if defined(RTEMS_MULTIPROCESSING)
135  fatal_directive_status(
136    status,
137    RTEMS_INVALID_NODE,
138    "rtems_task_ident with illegal node"
139  );
140#else
141  fatal_directive_status(
142    status,
143    RTEMS_INVALID_NAME,
144    "rtems_task_ident with illegal node"
145  );
146#endif
147  puts( "TA1 - rtems_task_ident - RTEMS_INVALID_NODE" );
148
149  status = rtems_task_restart( 100, 0 );
150  fatal_directive_status(
151    status,
152    RTEMS_INVALID_ID,
153    "rtems_task_restart with illegal id"
154  );
155  puts( "TA1 - rtems_task_restart - RTEMS_INVALID_ID" );
156
157  status = rtems_task_resume( 100 );
158  fatal_directive_status(
159    status,
160    RTEMS_INVALID_ID,
161    "rtems_task_resume with illegal id"
162  );
163  puts( "TA1 - rtems_task_resume - RTEMS_INVALID_ID" );
164
165  status = rtems_task_resume( RTEMS_SELF );
166  fatal_directive_status(
167    status,
168    RTEMS_INCORRECT_STATE,
169    "rtems_task_resume of ready task"
170  );
171  puts( "TA1 - rtems_task_resume - RTEMS_INCORRECT_STATE" );
172
173  status = rtems_task_set_priority( RTEMS_SELF, 512, &previous_priority );
174  fatal_directive_status(
175    status,
176    RTEMS_INVALID_PRIORITY,
177    "rtems_task_set_priority with illegal priority"
178  );
179  puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_PRIORITY" );
180
181  status = rtems_task_set_priority( 100, 8, &previous_priority );
182  fatal_directive_status(
183    status,
184    RTEMS_INVALID_ID,
185    "rtems_task_set_priority with illegal id"
186  );
187  puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_ID" );
188
189  status = rtems_task_set_note(
190    RTEMS_SELF,
191    RTEMS_NOTEPAD_LAST+10,
192    notepad_value
193  );
194  fatal_directive_status(
195    status,
196    RTEMS_INVALID_NUMBER,
197    "rtems_task_set_note with illegal notepad"
198  );
199  puts( "TA1 - rtems_task_set_note - RTEMS_INVALID_NUMBER" );
200
201  status = rtems_task_set_note( 100, RTEMS_NOTEPAD_LAST, notepad_value );
202  fatal_directive_status(
203    status,
204    RTEMS_INVALID_ID,
205    "rtems_task_set_note with illegal id"
206  );
207  puts( "TA1 - rtems_task_set_note - RTEMS_INVALID_ID" );
208
209  status = rtems_task_start( 100, Task_1, 0 );
210  fatal_directive_status(
211    status,
212    RTEMS_INVALID_ID,
213    "rtems_task_start with illegal id"
214  );
215  puts( "TA1 - rtems_task_start - RTEMS_INVALID_ID" );
216
217  status = rtems_task_start( 0, Task_1, 0 );
218  fatal_directive_status(
219    status,
220    RTEMS_INCORRECT_STATE,
221    "rtems_task_start of ready task"
222  );
223  puts( "TA1 - rtems_task_start - RTEMS_INCORRECT_STATE" );
224
225  status = rtems_task_suspend( 100 );
226  fatal_directive_status(
227    status,
228    RTEMS_INVALID_ID,
229    "rtems_task_suspend with illegal id"
230  );
231  puts( "TA1 - rtems_task_suspend - RTEMS_INVALID_ID" );
232}
Note: See TracBrowser for help on using the repository browser.