source: rtems/c/src/ada-tests/mptests/mp11/mptest.adb @ 6d4e604b

4.104.114.84.95
Last change on this file since 6d4e604b was 6d4e604b, checked in by Joel Sherrill <joel.sherrill@…>, on Jun 2, 1997 at 8:19:03 PM

Initial revision

  • Property mode set to 100644
File size: 3.6 KB
Line 
1--
2--  MPTEST / BODY
3--
4--  DESCRIPTION:
5--
6--  This package is the implementation for Test 11 of the RTEMS
7--  Multiprocessor Test Suite.
8--
9--  DEPENDENCIES:
10--
11--
12--
13--  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
14--  On-Line Applications Research Corporation (OAR).
15--  All rights assigned to U.S. Government, 1994.
16--
17--  This material may be reproduced by or for the U.S. Government pursuant
18--  to the copyright license under the clause at DFARS 252.227-7013.  This
19--  notice must appear in all copies of this file and its derivatives.
20--
21--  mptest.adb,v 1.2 1995/05/31 16:35:09 joel Exp
22--
23
24with INTERFACES; use INTERFACES;
25with RTEMS;
26with TEST_SUPPORT;
27with TEXT_IO;
28with UNSIGNED32_IO;
29
30package body MPTEST is
31
32   package body PER_NODE_CONFIGURATION is separate;
33
34--PAGE
35--
36--  INIT
37--
38
39   procedure INIT (
40      ARGUMENT : in     RTEMS.TASK_ARGUMENT
41   ) is
42      STATUS : RTEMS.STATUS_CODES;
43   begin
44
45      TEXT_IO.NEW_LINE( 2 );
46      TEXT_IO.PUT( "*** TEST 11 -- NODE " );
47      UNSIGNED32_IO.PUT(
48         MPTEST.MULTIPROCESSING_CONFIGURATION.NODE,
49         WIDTH => 1
50      );
51      TEXT_IO.PUT_LINE( " ***" );
52
53      MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME(  '1', '1', '1', ' ' );
54      MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME(  '2', '2', '2', ' ' );
55
56      MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME(  'M', 'S', 'G', ' ' );
57
58      MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME(  'S', 'E', 'M', ' ' );
59
60      MPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME(  'P', 'A', 'R', ' ' );
61
62      if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then
63
64         TEXT_IO.PUT_LINE( "Attempting to create Test_task (Global)" );
65         RTEMS.TASK_CREATE(
66            MPTEST.TASK_NAME( 1 ),
67            1,
68            2048,
69            RTEMS.DEFAULT_MODES,
70            RTEMS.GLOBAL,
71            MPTEST.TASK_ID( 1 ),
72            STATUS
73         );
74         TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
75            STATUS,
76            RTEMS.TOO_MANY,
77            "TASK_CREATE"
78         );
79         TEXT_IO.PUT_LINE( "task_create correctly returned TOO_MANY" );
80
81         TEXT_IO.PUT_LINE( "Attempting to create Message Queue (Global)" );
82         RTEMS.MESSAGE_QUEUE_CREATE(
83            MPTEST.QUEUE_NAME( 1 ),
84            3,
85            RTEMS.GLOBAL + RTEMS.LIMIT,
86            MPTEST.QUEUE_ID( 1 ),
87            STATUS
88         );
89         TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
90            STATUS,
91            RTEMS.TOO_MANY,
92            "MESSAGE_QUEUE_CREATE"
93         );
94         TEXT_IO.PUT_LINE( 
95            "message_queue_create correctly returned TOO_MANY"
96         );
97
98         TEXT_IO.PUT_LINE( "Creating Semaphore (Global)" );
99         RTEMS.SEMAPHORE_CREATE(
100            MPTEST.SEMAPHORE_NAME( 1 ),
101            1,
102            RTEMS.GLOBAL,
103            MPTEST.SEMAPHORE_ID( 1 ),
104            STATUS
105         );
106         TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
107            STATUS, 
108            RTEMS.TOO_MANY, 
109            "SEMAPHORE_CREATE"
110         );
111         TEXT_IO.PUT_LINE( "semaphore_create correctly returned TOO_MANY" );
112
113         TEXT_IO.PUT_LINE( "Creating Partition (Global)" );
114         RTEMS.PARTITION_CREATE(
115            MPTEST.PARTITION_NAME( 1 ),
116            MPTEST.PARTITION_AREA( 0 )'ADDRESS,
117            128,
118            64,
119            RTEMS.GLOBAL,
120            MPTEST.PARTITION_ID( 1 ),
121            STATUS
122         );
123         TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
124            STATUS,
125            RTEMS.TOO_MANY,
126            "PARTITION_CREATE"
127         );
128         TEXT_IO.PUT_LINE( "partition_create correctly returned TOO_MANY" );
129
130      end if;
131
132      TEXT_IO.PUT_LINE( "*** END OF TEST 11 ***" );
133
134      RTEMS.SHUTDOWN_EXECUTIVE( 0 );
135
136   end INIT; 
137 
138end MPTEST;
Note: See TracBrowser for help on using the repository browser.