source: rtems/testsuites/ada/samples/base_sp/sptest.adb @ ee537ea

5
Last change on this file since ee537ea was ee537ea, checked in by Sebastian Huber <sebastian.huber@…>, on 10/12/17 at 08:00:10

ada-tests: Move to testsuites/ada

This solves a build dependency issue, e.g. building tests before
librtemsbsp.a exists.

Close #3079.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1--
2--  SPTEST / BODY
3--
4--  DESCRIPTION:
5--
6--  This package is the implementation of Test 1 of the RTEMS
7--  Single Processor Test Suite.
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.org/license/LICENSE.
19--
20
21with TEST_SUPPORT;
22with TEXT_IO;
23with UNSIGNED32_IO;
24
25package body SPTEST is
26
27--
28--  INIT
29--
30
31   procedure INIT (
32      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
33   ) is
34      pragma Unreferenced(ARGUMENT);
35      STATUS : RTEMS.STATUS_CODES;
36   begin
37
38      TEXT_IO.NEW_LINE( 2 );
39      TEXT_IO.PUT_LINE( "*** SAMPLE SINGLE PROCESSOR APPLICATION ***" );
40      TEXT_IO.PUT_LINE( "Creating and starting an application task" );
41
42      SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME(  'T', 'A', '1', ' ' );
43
44      RTEMS.TASKS.CREATE(
45         SPTEST.TASK_NAME( 1 ),
46         1,
47         2048,
48         RTEMS.INTERRUPT_LEVEL( 0 ),
49         RTEMS.DEFAULT_ATTRIBUTES,
50         SPTEST.TASK_ID( 1 ),
51         STATUS
52      );
53      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" );
54
55      RTEMS.TASKS.START(
56         SPTEST.TASK_ID( 1 ),
57         SPTEST.APPLICATION_TASK'ACCESS,
58         0,
59         STATUS
60      );
61      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" );
62
63      RTEMS.TASKS.DELETE( RTEMS.SELF, STATUS );
64      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" );
65
66   end INIT;
67
68--
69--  APPLICATION_TASK
70--
71
72   procedure APPLICATION_TASK (
73      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
74   ) is
75      TID    : RTEMS.ID;
76      STATUS : RTEMS.STATUS_CODES;
77   begin
78
79      RTEMS.TASKS.IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS );
80   
81      TEXT_IO.PUT( "Application task was invoked with argument (" );
82      UNSIGNED32_IO.PUT( ARGUMENT );
83      TEXT_IO.PUT( ") and has id of 0x" );
84      UNSIGNED32_IO.PUT( TID, BASE => 16 );
85      TEXT_IO.NEW_LINE;
86
87      TEXT_IO.PUT_LINE( "*** END OF SAMPLE SINGLE PROCESSOR APPLICATION ***" );
88
89      RTEMS.SHUTDOWN_EXECUTIVE( 0 );
90
91   end APPLICATION_TASK;
92
93end SPTEST;
Note: See TracBrowser for help on using the repository browser.