source: rtems/c/src/ada-tests/support/test_support.adb @ 2ddb743

4.115
Last change on this file since 2ddb743 was 3c4d8cd1, checked in by Joel Sherrill <joel.sherrill@…>, on 02/16/11 at 15:53:16

2011-02-16 Joel Sherrill <joel.sherrill@…>

  • ada-tests/mptests/mp01/mp01.adb, ada-tests/mptests/mp01/mptest.adb, ada-tests/mptests/mp01/mptest.ads, ada-tests/mptests/mp01/node1/mp01_node1.adb, ada-tests/mptests/mp01/node2/mp01_node2.adb, ada-tests/mptests/mp02/mptest.adb, ada-tests/mptests/mp02/mptest.ads, ada-tests/mptests/mp02/node1/mp02_node1.adb, ada-tests/mptests/mp02/node2/mp02_node2.adb, ada-tests/mptests/mp03/mptest.adb, ada-tests/mptests/mp03/mptest.ads, ada-tests/mptests/mp03/node1/mp03_node1.adb, ada-tests/mptests/mp03/node2/mp03_node2.adb, ada-tests/mptests/mp04/mptest.adb, ada-tests/mptests/mp04/mptest.ads, ada-tests/mptests/mp04/node1/mp04_node1.adb, ada-tests/mptests/mp04/node2/mp04_node2.adb, ada-tests/mptests/mp05/mptest.adb, ada-tests/mptests/mp05/mptest.ads, ada-tests/mptests/mp05/node1/mp05_node1.adb, ada-tests/mptests/mp05/node2/mp05_node2.adb, ada-tests/mptests/mp06/mptest.adb, ada-tests/mptests/mp06/mptest.ads, ada-tests/mptests/mp06/node1/mp06_node1.adb, ada-tests/mptests/mp06/node2/mp06_node2.adb, ada-tests/mptests/mp07/mptest.adb, ada-tests/mptests/mp07/mptest.ads, ada-tests/mptests/mp07/node1/mp07_node1.adb, ada-tests/mptests/mp07/node2/mp07_node2.adb, ada-tests/mptests/mp08/mptest.adb, ada-tests/mptests/mp08/mptest.ads, ada-tests/mptests/mp08/node1/mp08_node1.adb, ada-tests/mptests/mp08/node2/mp08_node2.adb, ada-tests/mptests/mp09/mptest.adb, ada-tests/mptests/mp09/mptest.ads, ada-tests/mptests/mp09/node1/mp09_node1.adb, ada-tests/mptests/mp09/node2/mp09_node2.adb, ada-tests/mptests/mp10/mptest.adb, ada-tests/mptests/mp10/mptest.ads, ada-tests/mptests/mp10/node1/mp10_node1.adb, ada-tests/mptests/mp10/node2/mp10_node2.adb, ada-tests/mptests/mp11/mptest.adb, ada-tests/mptests/mp11/mptest.ads, ada-tests/mptests/mp11/node1/mp11_node1.adb, ada-tests/mptests/mp11/node2/mp11_node2.adb, ada-tests/mptests/mp12/mptest.adb, ada-tests/mptests/mp12/mptest.ads, ada-tests/mptests/mp12/node1/mp12_node1.adb, ada-tests/mptests/mp12/node2/mp12_node2.adb, ada-tests/mptests/mp13/mptest.adb, ada-tests/mptests/mp13/mptest.ads, ada-tests/mptests/mp13/node1/mp13_node1.adb, ada-tests/mptests/mp13/node2/mp13_node2.adb, ada-tests/mptests/mp14/mptest.adb, ada-tests/mptests/mp14/mptest.ads, ada-tests/mptests/mp14/node1/mp14_node1.adb, ada-tests/mptests/mp14/node2/mp14_node2.adb, ada-tests/samples/base_mp/mptest.adb, ada-tests/samples/base_mp/mptest.ads, ada-tests/samples/base_sp/base_sp.adb, ada-tests/samples/base_sp/sptest.adb, ada-tests/samples/base_sp/sptest.ads, ada-tests/samples/hello/hello.adb, ada-tests/samples/hello/sptest.adb, ada-tests/samples/hello/sptest.ads, ada-tests/samples/nsecs/nsecs.adb, ada-tests/samples/nsecs/sptest.adb, ada-tests/samples/nsecs/sptest.ads, ada-tests/samples/ticker/sptest.adb, ada-tests/samples/ticker/sptest.ads, ada-tests/samples/ticker/ticker.adb, ada-tests/sptests/sp01/sp01.adb, ada-tests/sptests/sp01/sptest.adb, ada-tests/sptests/sp01/sptest.ads, ada-tests/sptests/sp02/sp02.adb, ada-tests/sptests/sp02/sptest.adb, ada-tests/sptests/sp02/sptest.ads, ada-tests/sptests/sp03/sp03.adb, ada-tests/sptests/sp03/sptest.adb, ada-tests/sptests/sp03/sptest.ads, ada-tests/sptests/sp04/sp04.adb, ada-tests/sptests/sp04/sptest.adb, ada-tests/sptests/sp04/sptest.ads, ada-tests/sptests/sp05/sp05.adb, ada-tests/sptests/sp05/sptest.adb, ada-tests/sptests/sp05/sptest.ads, ada-tests/sptests/sp06/sp06.adb, ada-tests/sptests/sp06/sptest.adb, ada-tests/sptests/sp06/sptest.ads, ada-tests/sptests/sp07/sp07.adb, ada-tests/sptests/sp07/sptest.adb, ada-tests/sptests/sp07/sptest.ads, ada-tests/sptests/sp08/sp08.adb, ada-tests/sptests/sp08/sptest.adb, ada-tests/sptests/sp08/sptest.ads, ada-tests/sptests/sp09/sp09.adb, ada-tests/sptests/sp09/sptest.adb, ada-tests/sptests/sp09/sptest.ads, ada-tests/sptests/sp11/sp11.adb, ada-tests/sptests/sp11/sptest.adb, ada-tests/sptests/sp11/sptest.ads, ada-tests/sptests/sp12/sp12.adb, ada-tests/sptests/sp12/sptest.adb, ada-tests/sptests/sp12/sptest.ads, ada-tests/sptests/sp13/sp13.adb, ada-tests/sptests/sp13/sptest.adb, ada-tests/sptests/sp13/sptest.ads, ada-tests/sptests/sp14/sp14.adb, ada-tests/sptests/sp14/sptest.adb, ada-tests/sptests/sp14/sptest.ads, ada-tests/sptests/sp15/sp15.adb, ada-tests/sptests/sp15/sptest.adb, ada-tests/sptests/sp15/sptest.ads, ada-tests/sptests/sp16/sp16.adb, ada-tests/sptests/sp16/sptest.adb, ada-tests/sptests/sp16/sptest.ads, ada-tests/sptests/sp17/sp17.adb, ada-tests/sptests/sp17/sptest.adb, ada-tests/sptests/sp17/sptest.ads, ada-tests/sptests/sp19/sp19.adb, ada-tests/sptests/sp19/sptest.adp, ada-tests/sptests/sp19/sptest.ads, ada-tests/sptests/sp20/sp20.adb, ada-tests/sptests/sp20/sptest.adb, ada-tests/sptests/sp20/sptest.ads, ada-tests/sptests/sp22/sp22.adb, ada-tests/sptests/sp22/sptest.adb, ada-tests/sptests/sp22/sptest.ads, ada-tests/sptests/sp23/sp23.adb, ada-tests/sptests/sp23/sptest.adb, ada-tests/sptests/sp23/sptest.ads, ada-tests/sptests/sp24/sp24.adb, ada-tests/sptests/sp24/sptest.adb, ada-tests/sptests/sp24/sptest.ads, ada-tests/sptests/sp25/sp25.adb, ada-tests/sptests/sp25/sptest.adb, ada-tests/sptests/sp25/sptest.ads, ada-tests/support/test_support.adb, ada-tests/tmtests/tm01/tm01.adb, ada-tests/tmtests/tm01/tmtest.adb, ada-tests/tmtests/tm01/tmtest.ads, ada-tests/tmtests/tm02/tm02.adb, ada-tests/tmtests/tm02/tmtest.adb, ada-tests/tmtests/tm02/tmtest.ads, ada-tests/tmtests/tm03/tm03.adb, ada-tests/tmtests/tm03/tmtest.adb, ada-tests/tmtests/tm03/tmtest.ads, ada-tests/tmtests/tm04/tm04.adb, ada-tests/tmtests/tm04/tmtest.adb, ada-tests/tmtests/tm04/tmtest.ads, ada-tests/tmtests/tm05/tm05.adb, ada-tests/tmtests/tm05/tmtest.adb, ada-tests/tmtests/tm05/tmtest.ads, ada-tests/tmtests/tm06/tm06.adb, ada-tests/tmtests/tm06/tmtest.adb, ada-tests/tmtests/tm06/tmtest.ads, ada-tests/tmtests/tm07/tm07.adb, ada-tests/tmtests/tm07/tmtest.adb, ada-tests/tmtests/tm07/tmtest.ads, ada-tests/tmtests/tm08/tm08.adb, ada-tests/tmtests/tm08/tmtest.adb, ada-tests/tmtests/tm08/tmtest.ads, ada-tests/tmtests/tm09/tm09.adb, ada-tests/tmtests/tm09/tmtest.adb, ada-tests/tmtests/tm09/tmtest.ads, ada-tests/tmtests/tm10/tm10.adb, ada-tests/tmtests/tm10/tmtest.adb, ada-tests/tmtests/tm10/tmtest.ads, ada-tests/tmtests/tm11/tm11.adb, ada-tests/tmtests/tm11/tmtest.adb, ada-tests/tmtests/tm11/tmtest.ads, ada-tests/tmtests/tm12/tm12.adb, ada-tests/tmtests/tm12/tmtest.adb, ada-tests/tmtests/tm12/tmtest.ads, ada-tests/tmtests/tm13/tm13.adb, ada-tests/tmtests/tm13/tmtest.adb, ada-tests/tmtests/tm13/tmtest.ads, ada-tests/tmtests/tm14/tm14.adb, ada-tests/tmtests/tm14/tmtest.adb, ada-tests/tmtests/tm14/tmtest.ads, ada-tests/tmtests/tm15/tm15.adb, ada-tests/tmtests/tm15/tmtest.adb, ada-tests/tmtests/tm15/tmtest.ads, ada-tests/tmtests/tm16/tm16.adb, ada-tests/tmtests/tm16/tmtest.adb, ada-tests/tmtests/tm16/tmtest.ads, ada-tests/tmtests/tm17/tm17.adb, ada-tests/tmtests/tm17/tmtest.adb, ada-tests/tmtests/tm17/tmtest.ads, ada-tests/tmtests/tm18/tm18.adb, ada-tests/tmtests/tm18/tmtest.adb, ada-tests/tmtests/tm18/tmtest.ads, ada-tests/tmtests/tm19/tm19.adb, ada-tests/tmtests/tm19/tmtest.adb, ada-tests/tmtests/tm19/tmtest.ads, ada-tests/tmtests/tm20/tm20.adb, ada-tests/tmtests/tm20/tmtest.adb, ada-tests/tmtests/tm20/tmtest.ads, ada-tests/tmtests/tm21/tm21.adb, ada-tests/tmtests/tm21/tmtest.adb, ada-tests/tmtests/tm21/tmtest.ads, ada-tests/tmtests/tm22/tm22.adb, ada-tests/tmtests/tm22/tmtest.adb, ada-tests/tmtests/tm22/tmtest.ads, ada-tests/tmtests/tm23/tm23.adb, ada-tests/tmtests/tm23/tmtest.adb, ada-tests/tmtests/tm23/tmtest.ads, ada-tests/tmtests/tm24/tm24.adb, ada-tests/tmtests/tm24/tmtest.adb, ada-tests/tmtests/tm24/tmtest.ads, ada-tests/tmtests/tm25/tm25.adb, ada-tests/tmtests/tm25/tmtest.adb, ada-tests/tmtests/tm25/tmtest.ads, ada-tests/tmtests/tm28/tm28.adb, ada-tests/tmtests/tm28/tmtest.adb, ada-tests/tmtests/tm28/tmtest.ads, ada-tests/tmtests/tm29/tm29.adb, ada-tests/tmtests/tm29/tmtest.adb, ada-tests/tmtests/tm29/tmtest.ads, ada-tests/tmtests/tmck/tmck.adb, ada-tests/tmtests/tmck/tmtest.adb, ada-tests/tmtests/tmck/tmtest.ads, ada-tests/tmtests/tmoverhd/dummy_rtems.adb, ada-tests/tmtests/tmoverhd/dummy_rtems.ads, ada-tests/tmtests/tmoverhd/tmoverhd.adb, ada-tests/tmtests/tmoverhd/tmtest.adb, ada-tests/tmtests/tmoverhd/tmtest.ads: Account for RTEMS binding child package rework. Eliminate all warnings.
  • Property mode set to 100644
File size: 5.5 KB
Line 
1--
2--  Test_Support / Specification
3--
4--  DESCRIPTION:
5--
6--  This package provides routines which aid the Test Suites
7--  and simplify their design and operation.
8--
9--  DEPENDENCIES:
10--
11-- 
12--
13--  COPYRIGHT (c) 1989-2011.
14--  On-Line Applications Research Corporation (OAR).
15--
16--  The license and distribution terms for this file may in
17--  the file LICENSE in this distribution or at
18--  http://www.rtems.com/license/LICENSE.
19--
20--  $Id$
21--
22
23with Interfaces; use Interfaces;
24with Unsigned32_IO;
25with Status_IO;
26with Text_IO;
27with RTEMS.Fatal;
28
29package body Test_Support is
30
31--
32--  Fatal_Directive_Status
33--
34
35   procedure Fatal_Directive_Status (
36      Status  : in     RTEMS.Status_Codes;
37      Desired : in     RTEMS.Status_Codes;
38      Message : in     String
39   ) is
40   begin
41
42      if not RTEMS.Are_Statuses_Equal( Status, Desired ) then
43
44         Text_IO.Put( Message );
45         Text_IO.Put( " FAILED -- expected " );
46         Status_IO.Put( Desired );
47         Text_IO.Put( " got " );
48         Status_IO.Put( Status );
49         Text_IO.New_Line;
50
51         RTEMS.Fatal.Error_Occurred( RTEMS.Status_Codes'Pos( Status ) );
52
53      end if;
54
55   end Fatal_Directive_Status;
56
57--
58--  Directive_Failed
59--
60
61   procedure Directive_Failed (
62      Status  : in     RTEMS.Status_Codes;
63      Message : in     String
64   ) is
65   begin
66
67      Test_Support.Fatal_Directive_Status(
68         Status,
69         RTEMS.Successful,
70         Message
71      );
72
73   end Directive_Failed;
74
75--
76--  Print_Time
77--
78
79   procedure Print_Time (
80      Prefix      : in     String;
81      Time_Buffer : in     RTEMS.Time_Of_Day;
82      Suffix      : in     String
83   ) is
84   begin
85
86      Text_IO.Put( Prefix );
87      Unsigned32_IO.Put( Time_Buffer.Hour, Width=>2 );
88      Text_IO.Put( ":" );
89      Unsigned32_IO.Put( Time_Buffer.Minute, Width=>2 );
90      Text_IO.Put( ":" );
91      Unsigned32_IO.Put( Time_Buffer.Second, Width=>2 );
92      Text_IO.Put( "   " );
93      Unsigned32_IO.Put( Time_Buffer.Month, Width=>2 );
94      Text_IO.Put( "/" );
95      Unsigned32_IO.Put( Time_Buffer.Day, Width=>2 );
96      Text_IO.Put( "/" );
97      Unsigned32_IO.Put( Time_Buffer.Year, Width=>2 );
98      Text_IO.Put( Suffix );
99
100   end Print_Time;
101
102--
103--  Put_Dot
104--
105 
106   procedure Put_Dot (
107      Buffer : in     String
108   ) is
109   begin
110      Text_IO.Put( Buffer );
111      Text_IO.FLUSH;
112   end Put_Dot;
113
114--
115--  Pause
116--
117
118   procedure Pause is
119      --  Ignored_String : String( 1 .. 80 );
120      --  Ignored_Last   : Natural;
121     
122   begin
123
124      --
125      --  Really should be a "put" followed by a "flush."
126      --
127      Text_IO.Put_Line( "<pause> " );
128      -- Text_IO.Get_Line( Ignored_String, Ignored_Last );
129
130   end Pause;
131
132--
133--  Pause_And_Screen_Number
134--
135 
136   procedure Pause_And_Screen_Number (
137      SCREEN : in    RTEMS.Unsigned32
138   ) is
139      --  Ignored_String : String( 1 .. 80 );
140      --  Ignored_Last   : Natural;
141   begin
142 
143      --
144      --  Really should be a "put" followed by a "flush."
145      --
146      Text_IO.Put( "<pause - screen  " );
147      Unsigned32_IO.Put( SCREEN, Width=>2 );
148      Text_IO.Put_Line( "> " );
149   --    Text_IO.Get_Line( Ignored_String, Ignored_Last );
150 
151   end Pause_And_Screen_Number;
152
153--
154--  Put_Name
155--
156
157   procedure Put_Name (
158      Name     : in     RTEMS.Name;
159      New_Line : in     Boolean
160   ) is
161      C1 : Character;
162      C2 : Character;
163      C3 : Character;
164      C4 : Character;
165   begin
166
167      RTEMS.Name_To_Characters( Name, C1, C2, C3, C4 );
168
169      Text_IO.Put( C1 );
170      Text_IO.Put( C2 );
171      Text_IO.Put( C3 );
172      Text_IO.Put( C4 );
173
174      if New_Line then
175         Text_IO.New_Line;
176      end if;
177
178   end Put_Name;
179 
180--
181--  Task_Number
182--
183
184   function Task_Number (
185      TID : in     RTEMS.ID
186   ) return RTEMS.Unsigned32 is
187   begin
188
189      -- probably OK
190      return RTEMS.Get_Index( TID ) - 1;
191
192   end Task_Number;
193
194--
195--  Do_Nothing
196--
197
198   procedure Do_Nothing is
199   begin
200      NULL;
201   end Do_Nothing;
202   
203
204--
205--  Milliseconds_Per_Tick
206--
207
208   function Milliseconds_Per_Tick
209   return RTEMS.Unsigned32 is
210      function Milliseconds_Per_Tick_Base return RTEMS.Unsigned32;
211      pragma Import (C, Milliseconds_Per_Tick_Base, "milliseconds_per_tick");
212   begin
213      return Milliseconds_Per_Tick_Base;
214   end Milliseconds_Per_Tick;
215
216--
217--  Milliseconds_Per_Tick
218--
219   function Ticks_Per_Second
220   return RTEMS.Interval is
221      function Ticks_Per_Second_Base return RTEMS.Unsigned32;
222      pragma Import (C, Ticks_Per_Second_Base, "ticks_per_second");
223   begin
224      return Ticks_Per_Second_Base;
225   end Ticks_Per_Second;
226
227--
228--  Return the size of the RTEMS Workspace
229--
230
231   function Work_Space_Size
232   return RTEMS.Unsigned32 is
233      function Work_Space_Size_Base return RTEMS.Unsigned32;
234      pragma Import (C, Work_Space_Size_Base, "work_space_size");
235   begin
236      return Work_Space_Size_Base;
237   end Work_Space_Size;
238
239--
240--  Return an indication of whether multiprocessing is configured
241--
242
243   function Is_Configured_Multiprocessing
244   return Boolean is
245      function Is_Configured_Multiprocessing_Base return RTEMS.Unsigned32;
246      pragma Import (
247         C, Is_Configured_Multiprocessing_Base, "is_configured_multiprocessing"
248      );
249   begin
250      if Is_Configured_Multiprocessing_Base = 1 then
251         return True;
252      else
253         return False;
254      end if;
255   end Is_Configured_Multiprocessing;
256
257--
258--  Node is the node number in a multiprocessor configuration
259--
260
261   function Node
262   return RTEMS.Unsigned32 is
263      function Get_Node_Base return RTEMS.Unsigned32;
264      pragma Import (C, Get_Node_Base, "get_node");
265   begin
266      return Get_Node_Base;
267   end Node;
268end Test_Support;
Note: See TracBrowser for help on using the repository browser.