diff options
Diffstat (limited to 'c/src/ada-tests/sptests')
119 files changed, 0 insertions, 17274 deletions
diff --git a/c/src/ada-tests/sptests/sp01/config.h b/c/src/ada-tests/sptests/sp01/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp01/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp01/sp01.adb b/c/src/ada-tests/sptests/sp01/sp01.adb deleted file mode 100644 index c1264df6f3..0000000000 --- a/c/src/ada-tests/sptests/sp01/sp01.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP01 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP01 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP01; - diff --git a/c/src/ada-tests/sptests/sp01/sp01.scn b/c/src/ada-tests/sptests/sp01/sp01.scn deleted file mode 100644 index dac3add1f2..0000000000 --- a/c/src/ada-tests/sptests/sp01/sp01.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** TEST 1 *** -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA2 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:25 12/31/1988 -TA3 - clock_get - 9: 0:30 12/31/1988 -TA1 - clock_get - 9: 0:30 12/31/1988 -TA2 - clock_get - 9: 0:30 12/31/1988 -*** END OF TEST 1 *** diff --git a/c/src/ada-tests/sptests/sp01/sptest.adb b/c/src/ada-tests/sptests/sp01/sptest.adb deleted file mode 100644 index e74a80c0cf..0000000000 --- a/c/src/ada-tests/sptests/sp01/sptest.adb +++ /dev/null @@ -1,162 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 1 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.INTERRUPT_LEVEL( 31 ), - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1_THROUGH_3 --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - loop - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 35 then - TEXT_IO.PUT_LINE( "*** END OF TEST 1 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_1_THROUGH_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp01/sptest.ads b/c/src/ada-tests/sptests/sp01/sptest.ads deleted file mode 100644 index e03ccd0e64..0000000000 --- a/c/src/ada-tests/sptests/sp01/sptest.ads +++ /dev/null @@ -1,60 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1_THROUGH_3 --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp02/config.h b/c/src/ada-tests/sptests/sp02/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp02/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp02/sp02.adb b/c/src/ada-tests/sptests/sp02/sp02.adb deleted file mode 100644 index e7c9631161..0000000000 --- a/c/src/ada-tests/sptests/sp02/sp02.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP02 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP02 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP02; - diff --git a/c/src/ada-tests/sptests/sp02/sp02.scn b/c/src/ada-tests/sptests/sp02/sp02.scn deleted file mode 100644 index 9db0bc4100..0000000000 --- a/c/src/ada-tests/sptests/sp02/sp02.scn +++ /dev/null @@ -1,15 +0,0 @@ -*** TEST 2 *** -INIT - task_wake_after - yielding processor -PREEMPT - task_delete - deleting self -INIT - suspending TA2 while middle task on a ready chain -TA1 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 minute -TA3 - task_wake_after - sleep 5 seconds -TA1 - task_ident - tid of TA2 (16#10007#) -TA1 - task_ident - tid of TA3 (16#10008#) -TA1 - task_set_priority - set TA3's priority to 2 -TA1 - task_suspend - suspend TA2 -TA1 - task_delete - delete TA2 -TA1 - task_wake_after - sleep for 5 seconds -TA3 - task_delete - delete self -*** END OF TEST 2 *** diff --git a/c/src/ada-tests/sptests/sp02/sptest.adb b/c/src/ada-tests/sptests/sp02/sptest.adb deleted file mode 100644 index dd2b9172ac..0000000000 --- a/c/src/ada-tests/sptests/sp02/sptest.adb +++ /dev/null @@ -1,331 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 2 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 2 ***" ); - - SPTEST.PREEMPT_TASK_NAME := RTEMS.BUILD_NAME( 'P', 'R', 'M', 'T' ); - - RTEMS.TASK_CREATE( - SPTEST.PREEMPT_TASK_NAME, - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PREEMPT_TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF PREEMPT" ); - - RTEMS.TASK_START( - SPTEST.PREEMPT_TASK_ID, - SPTEST.PREEMPT_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF PREEMPT" ); - - TEXT_IO.PUT_LINE( "INIT - task_wake_after - yielding processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - TEXT_IO.PUT_LINE( - "INIT - suspending TA2 while middle task on a ready chain" - ); - - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA1" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PREEMPT_TASK --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "PREEMPT - task_delete - deleting self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF PREEMPT" ); - - end PREEMPT_TASK; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID2 : RTEMS.ID; - TID3 : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 2 ), - RTEMS.SEARCH_ALL_NODES, - TID2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA2" ); - - TEXT_IO.PUT( "TA1 - task_ident - tid of TA2 (" ); - UNSIGNED32_IO.PUT( TID2, WIDTH => 8, BASE => 10#16# ); - TEXT_IO.PUT_LINE( ")" ); - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 3 ), - RTEMS.SEARCH_ALL_NODES, - TID3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA3" ); - - TEXT_IO.PUT( "TA1 - task_ident - tid of TA3 (" ); - UNSIGNED32_IO.PUT( TID3, WIDTH => 8, BASE => 10#16# ); - TEXT_IO.PUT_LINE( ")" ); - - RTEMS.TASK_SET_PRIORITY( TID3, 2, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_set_priority - set TA3's priority to 2" - ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA2" ); - RTEMS.TASK_SUSPEND( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA2" ); - RTEMS.TASK_DELETE( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep for 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 2 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - sleep 1 minute" ); - RTEMS.TASK_WAKE_AFTER( 60 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER IN TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA3 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER IN TA3" ); - - TEXT_IO.PUT_LINE( "TA3 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp02/sptest.ads b/c/src/ada-tests/sptests/sp02/sptest.ads deleted file mode 100644 index 2d5141f540..0000000000 --- a/c/src/ada-tests/sptests/sp02/sptest.ads +++ /dev/null @@ -1,99 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 2 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - - PREEMPT_TASK_ID : RTEMS.ID; - PREEMPT_TASK_NAME : RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PREEMPT_TASK --- --- DESCRIPTION: --- --- This RTEMS task tests the basic preemption capability. --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp03/config.h b/c/src/ada-tests/sptests/sp03/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp03/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp03/sp03.adb b/c/src/ada-tests/sptests/sp03/sp03.adb deleted file mode 100644 index 5455671942..0000000000 --- a/c/src/ada-tests/sptests/sp03/sp03.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP03 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP03 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP03; - diff --git a/c/src/ada-tests/sptests/sp03/sp03.scn b/c/src/ada-tests/sptests/sp03/sp03.scn deleted file mode 100644 index a13d9ae2e6..0000000000 --- a/c/src/ada-tests/sptests/sp03/sp03.scn +++ /dev/null @@ -1,26 +0,0 @@ -*** TEST 3 *** -TA1 sets clock: 9:15: 0 12/31/1988 -TA1 going to sleep: 9:15: 0 12/31/1988 -TA2 9:15: 1 12/31/1988 -TA2 9:15: 2 12/31/1988 -TA2 9:15: 3 12/31/1988 -TA2 9:15: 4 12/31/1988 -TA1 awakened: 9:15: 5 12/31/1988 -TA1 going to sleep: 9:15: 5 12/31/1988 -TA2 9:15: 5 12/31/1988 -TA2 9:15: 6 12/31/1988 -TA2 9:15: 7 12/31/1988 -TA2 9:15: 8 12/31/1988 -TA2 9:15: 9 12/31/1988 -TA1 awakened: 9:15:10 12/31/1988 -TA1 going to sleep: 9:15:10 12/31/1988 -TA2 9:15:10 12/31/1988 -TA2 9:15:11 12/31/1988 -TA2 9:15:12 12/31/1988 -TA2 9:15:13 12/31/1988 -TA2 9:15:14 12/31/1988 -TA1 awakened: 9:15:15 12/31/1988 -TA1 going to sleep: 9:15:15 12/31/1988 -TA2 9:15:15 12/31/1988 -TA2 9:15:16 12/31/1988 -*** END OF TEST 3 *** diff --git a/c/src/ada-tests/sptests/sp03/sptest.adb b/c/src/ada-tests/sptests/sp03/sptest.adb deleted file mode 100644 index 789740f0c3..0000000000 --- a/c/src/ada-tests/sptests/sp03/sptest.adb +++ /dev/null @@ -1,173 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 3 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 3 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TIME := ( 1988, 12, 31, 9, 15, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 1 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "sets clock: ", TIME, "" ); - TEXT_IO.NEW_LINE; - - loop - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 1 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "going to sleep: ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TIME.SECOND := TIME.SECOND + 5; - TIME.MINUTE := TIME.MINUTE + (TIME.SECOND / 60 ); - TIME.SECOND := TIME.SECOND mod 60; - TIME.HOUR := TIME.HOUR + (TIME.MINUTE / 60 ); - TIME.MINUTE := TIME.MINUTE mod 60; - TIME.HOUR := TIME.HOUR mod 24; - - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_WHEN" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 1 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "awakened: ", TIME, "" ); - TEXT_IO.NEW_LINE; - - end loop; - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - loop - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 17 then - TEXT_IO.PUT_LINE( "*** END OF TEST 3 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 2 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( " ", TIME, "" ); - TEXT_IO.NEW_LINE; - - end loop; - - end TASK_2; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp03/sptest.ads b/c/src/ada-tests/sptests/sp03/sptest.ads deleted file mode 100644 index fda2add5e2..0000000000 --- a/c/src/ada-tests/sptests/sp03/sptest.ads +++ /dev/null @@ -1,74 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 3 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the TASK_WAKE_WHEN directive of --- the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the TASK_WAKE_AFTER directive of --- the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp04/README b/c/src/ada-tests/sptests/sp04/README deleted file mode 100644 index 6928aaea49..0000000000 --- a/c/src/ada-tests/sptests/sp04/README +++ /dev/null @@ -1,13 +0,0 @@ -# -# $Id$ -# - -This test is broken as it is currently implemented. It is illegal for -a task to do Ada IO during a extension since the Ada run-time uses -locks to safeguard data structures. Dispatching is disabled and the -call to Text_IO in the Switch extension will lock the system up. - -The proper solution is to have the Switch extension lock task and -time when it a switch occurs and have a single task print this -information as necessary. - diff --git a/c/src/ada-tests/sptests/sp04/config.h b/c/src/ada-tests/sptests/sp04/config.h deleted file mode 100644 index 8a9352ccc9..0000000000 --- a/c/src/ada-tests/sptests/sp04/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp04/sp04.adb b/c/src/ada-tests/sptests/sp04/sp04.adb deleted file mode 100644 index 511ccb36a5..0000000000 --- a/c/src/ada-tests/sptests/sp04/sp04.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP04 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP04 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP04; - diff --git a/c/src/ada-tests/sptests/sp04/sp04.scn b/c/src/ada-tests/sptests/sp04/sp04.scn deleted file mode 100644 index dc075e2b94..0000000000 --- a/c/src/ada-tests/sptests/sp04/sp04.scn +++ /dev/null @@ -1,23 +0,0 @@ -*** TEST 4 *** -TA1 - 9:15: 0 12/31/1988 -TA1 - task_suspend - on Task 2 -TA1 - task_suspend - on Task 3 -TA1 - killing time -TA1 - task_resume - on Task 2 -TA1 - task_resume - on Task 3 -TA2 - 9:15: 4 12/31/1988 -TA3 - 9:15: 5 12/31/1988 -TA1 - 9:15: 6 12/31/1988 -TA2 - 9:15: 7 12/31/1988 -TA3 - 9:15: 8 12/31/1988 -TA1 - 9:15: 9 12/31/1988 -TA1 - task_mode - change mode to NO PREEMPT -TA1 - 9:15:10 12/31/1988 -TA1 - 9:15:11 12/31/1988 -TA1 - 9:15:12 12/31/1988 -TA1 - 9:15:13 12/31/1988 -TA1 - 9:15:14 12/31/1988 -TA1 - 9:15:15 12/31/1988 -TA1 - task_mode - change mode to PREEMPT -TA2 - 9:15:16 12/31/1988 -*** END OF TEST 4 *** diff --git a/c/src/ada-tests/sptests/sp04/sptest.adb b/c/src/ada-tests/sptests/sp04/sptest.adb deleted file mode 100644 index 8056f9225e..0000000000 --- a/c/src/ada-tests/sptests/sp04/sptest.adb +++ /dev/null @@ -1,317 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 4 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 4 ***" ); - - TIME := ( 1988, 12, 31, 9, 15, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.EXTENSION_NAME( 1 ) := RTEMS.BUILD_NAME( 'E', 'X', 'T', ' ' ); - - RTEMS.EXTENSION_CREATE( - SPTEST.EXTENSION_NAME( 1 ), - SPTEST.EXTENSIONS'ACCESS, - EXTENSION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EXTENSION_CREATE" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - SPTEST.RUN_COUNT( 1 ) := 0; - SPTEST.RUN_COUNT( 2 ) := 0; - SPTEST.RUN_COUNT( 3 ) := 0; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SECONDS : RTEMS.UNSIGNED32; - OLD_SECONDS : RTEMS.UNSIGNED32; - STARTED_DELAY : RTEMS.UNSIGNED32; - PREVIOUS_MODE : RTEMS.MODE; - TIME : RTEMS.TIME_OF_DAY; - START_TIME : RTEMS.INTERVAL; - END_TIME : RTEMS.INTERVAL; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - on Task 2" ); - RTEMS.TASK_SUSPEND( TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - on Task 3" ); - RTEMS.TASK_SUSPEND( TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA3" ); - - TEXT_IO.PUT_LINE( "TA1 - killing time" ); - - RTEMS.CLOCK_GET( - RTEMS.CLOCK_GET_SECONDS_SINCE_EPOCH, - START_TIME'ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - loop - RTEMS.CLOCK_GET( - RTEMS.CLOCK_GET_SECONDS_SINCE_EPOCH, - END_TIME'ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - exit when END_TIME > (START_TIME + 2); - end loop; - - TEXT_IO.PUT_LINE( "TA1 - task_resume - on Task 2" ); - RTEMS.TASK_RESUME( TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_resume - on Task 3" ); - RTEMS.TASK_RESUME( TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA3" ); - - loop - - if SPTEST.RUN_COUNT( 1 ) = 3 then - - TEXT_IO.PUT_LINE( - "TA1 - task_mode - change mode to NO PREEMPT" - ); - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - OLD_SECONDS := TIME.SECOND; - - SECONDS := 0; - loop - - exit when SECONDS >= 6; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND /= OLD_SECONDS then - OLD_SECONDS := TIME.SECOND; - SECONDS := SECONDS + 1; - TEST_SUPPORT.PRINT_TIME( "TA1 - ", TIME, "" ); - TEXT_IO.NEW_LINE; - end if; - - end loop; - - TEXT_IO.PUT_LINE( - "TA1 - task_mode - change mode to PREEMPT" - ); - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - -<<LOOP_LABEL>> - goto LOOP_LABEL; - - end if; - - end loop; - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - -<<LOOP_LABEL>> - goto LOOP_LABEL; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - -<<LOOP_LABEL>> - goto LOOP_LABEL; - - end TASK_3; - ---PAGE --- --- TASK_SWITCH --- - - procedure TASK_SWITCH ( - UNUSED : in RTEMS.TCB_POINTER; - HEIR : in RTEMS.TCB_POINTER - ) is - INDEX : RTEMS.UNSIGNED32; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - function TCB_To_ID ( - TCB : RTEMS.TCB_POINTER - ) return RTEMS.ID; - pragma Import (C, TCB_To_ID, "tcb_to_id" ); - - begin - - --INDEX := TEST_SUPPORT.TASK_NUMBER( HEIR.OBJECT.ID ); - INDEX := TCB_To_ID( HEIR ); - - case INDEX is - when 1 | 2 | 3 => - SPTEST.RUN_COUNT( INDEX ) := SPTEST.RUN_COUNT( INDEX ) + 1; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INDEX ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "- ", TIME, "" ); - TEXT_IO.NEW_LINE; - - if TIME.SECOND >= 16 then - TEXT_IO.PUT_LINE( "*** END OF TEST 4 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - when others => - NULL; - end case; - - end TASK_SWITCH; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp04/sptest.ads b/c/src/ada-tests/sptests/sp04/sptest.ads deleted file mode 100644 index ce3237bedd..0000000000 --- a/c/src/ada-tests/sptests/sp04/sptest.ads +++ /dev/null @@ -1,133 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 4 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS extensions created --- by this test. --- - - EXTENSION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - EXTENSION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- This array contains the number of times each of the test tasks has --- been context switched TO. --- - - RUN_COUNT : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is used as a background task to suspend, resume, --- and context switch to. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task is used as a background task to suspend, resume, --- and context switch to. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_SWITCH --- --- DESCRIPTION: --- --- This subprogram is the TASK_SWITCH extension for this test. --- It is invoked at each context switch and counts the number --- of times each application task has been context switched to. --- - - procedure TASK_SWITCH ( - UNUSED : in RTEMS.TCB_POINTER; - HEIR : in RTEMS.TCB_POINTER - ); - --- --- This is the User Extension Table for this test. --- - - EXTENSIONS : aliased RTEMS.EXTENSIONS_TABLE := - ( - NULL, -- Task create - NULL, -- Task start - NULL, -- Task restart - NULL, -- Task delete - SPTEST.TASK_SWITCH'ACCESS, -- Task switch - NULL, -- Task post switch - NULL, -- Task begin - NULL, -- Task exitted - NULL -- Fatal error - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp05/config.h b/c/src/ada-tests/sptests/sp05/config.h deleted file mode 100644 index 7fc8c7580e..0000000000 --- a/c/src/ada-tests/sptests/sp05/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp05/sp05.adb b/c/src/ada-tests/sptests/sp05/sp05.adb deleted file mode 100644 index bd6407a0c7..0000000000 --- a/c/src/ada-tests/sptests/sp05/sp05.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP05 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP05 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP05; - diff --git a/c/src/ada-tests/sptests/sp05/sp05.scn b/c/src/ada-tests/sptests/sp05/sp05.scn deleted file mode 100644 index 59c30a0b97..0000000000 --- a/c/src/ada-tests/sptests/sp05/sp05.scn +++ /dev/null @@ -1,48 +0,0 @@ -*** TEST 5 *** -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_suspend - suspend self -TA3 - task_suspend - suspend self -TA1 - task_suspend - suspend TA3 -TA1 - task_resume - resume TA2 -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA2 -TA1 - task_resume - resume TA3 -TA1 - task_wake_after - sleep 5 seconds -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA3 -TA1 - task_resume - resume TA2 -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA2 -TA1 - task_resume - resume TA3 -TA1 - task_wake_after - sleep 5 seconds -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA3 -TA1 - task_resume - resume TA2 -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA2 -TA1 - task_resume - resume TA3 -*** END OF TEST 5 *** - diff --git a/c/src/ada-tests/sptests/sp05/sptest.adb b/c/src/ada-tests/sptests/sp05/sptest.adb deleted file mode 100644 index 22d64fa54f..0000000000 --- a/c/src/ada-tests/sptests/sp05/sptest.adb +++ /dev/null @@ -1,229 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 5 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 5 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID2 : RTEMS.ID; - TID3 : RTEMS.ID; - PASS : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 2 ), - 1, - TID2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA2" ); - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 3 ), - 1, - TID3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA3" ); - - for PASS in 1 .. 3 - loop - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER OF TA1" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA3" ); - RTEMS.TASK_SUSPEND( TID3, STATUS ); - if PASS = 1 then - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ALREADY_SUSPENDED, - "TASK_SUSPEND OF TA3" - ); - else - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA3" ); - end if; - - TEXT_IO.PUT_LINE( "TA1 - task_resume - resume TA2" ); - RTEMS.TASK_RESUME( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA2" ); - RTEMS.TASK_SUSPEND( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_resume - resume TA3" ); - RTEMS.TASK_RESUME( TID3, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA3" ); - - end loop; - - TEXT_IO.PUT_LINE( "*** END OF TEST 5 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - task_suspend - suspend self" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - loop - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER OF TA2" ); - end loop; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA3 - task_suspend - suspend self" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA3" ); - - loop - TEXT_IO.PUT_LINE( "TA3 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER OF TA3" ); - end loop; - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp05/sptest.ads b/c/src/ada-tests/sptests/sp05/sptest.ads deleted file mode 100644 index 74b2e956bc..0000000000 --- a/c/src/ada-tests/sptests/sp05/sptest.ads +++ /dev/null @@ -1,84 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 5 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp06/config.h b/c/src/ada-tests/sptests/sp06/config.h deleted file mode 100644 index 7fc8c7580e..0000000000 --- a/c/src/ada-tests/sptests/sp06/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp06/sp06.adb b/c/src/ada-tests/sptests/sp06/sp06.adb deleted file mode 100644 index 8cd49904d7..0000000000 --- a/c/src/ada-tests/sptests/sp06/sp06.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP06 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP06 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP06; - diff --git a/c/src/ada-tests/sptests/sp06/sp06.scn b/c/src/ada-tests/sptests/sp06/sp06.scn deleted file mode 100644 index 8dc6c6afae..0000000000 --- a/c/src/ada-tests/sptests/sp06/sp06.scn +++ /dev/null @@ -1,38 +0,0 @@ -*** TEST 6 *** -TA1 - is beginning to run -TA1 - restarting TA3 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -*** END OF TEST 6 *** diff --git a/c/src/ada-tests/sptests/sp06/sptest.adb b/c/src/ada-tests/sptests/sp06/sptest.adb deleted file mode 100644 index db068639c0..0000000000 --- a/c/src/ada-tests/sptests/sp06/sptest.adb +++ /dev/null @@ -1,222 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 6 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 6 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - SPTEST.ARGUMENT := 0; - SPTEST.RESTART_ARGUMENT := 1; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 10, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - SPTEST.ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - SPTEST.ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 3 ), - 5, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PASS : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - is beginning to run" ); - - PASS := ARGUMENT + 1; - - if PASS = 5 then - TEXT_IO.PUT_LINE( "*** END OF TEST 6 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - if PASS = 1 then - TEXT_IO.PUT_LINE( "TA1 - restarting TA3" ); - RTEMS.TASK_RESTART( - SPTEST.TASK_ID( 3 ), - SPTEST.RESTART_ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF TA3" ); - - RTEMS.TASK_WAKE_AFTER( 2 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_restart - restarting TA2" ); - RTEMS.TASK_RESTART( - SPTEST.TASK_ID( 2 ), - SPTEST.RESTART_ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF TA2" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_restart - restarting self" ); - RTEMS.TASK_RESTART( SPTEST.TASK_ID( 1 ), PASS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF SELF" ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - is beginning to run" ); - - if ARGUMENT = SPTEST.ARGUMENT then - RTEMS.TASK_WAKE_AFTER( 2 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - end if; - - loop - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - sleep 1/2 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND / 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp06/sptest.ads b/c/src/ada-tests/sptests/sp06/sptest.ads deleted file mode 100644 index 53d4825ec4..0000000000 --- a/c/src/ada-tests/sptests/sp06/sptest.ads +++ /dev/null @@ -1,91 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 6 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following are used as arguments to the various RTEMS tasks --- in this test to indicate when a restart should be performed. - - ARGUMENT : RTEMS.UNSIGNED32; - RESTART_ARGUMENT : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp07/config.h b/c/src/ada-tests/sptests/sp07/config.h deleted file mode 100644 index 8a9352ccc9..0000000000 --- a/c/src/ada-tests/sptests/sp07/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp07/sp07.adb b/c/src/ada-tests/sptests/sp07/sp07.adb deleted file mode 100644 index e86ec72e6d..0000000000 --- a/c/src/ada-tests/sptests/sp07/sp07.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP07 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP07 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP07; - diff --git a/c/src/ada-tests/sptests/sp07/sp07.scn b/c/src/ada-tests/sptests/sp07/sp07.scn deleted file mode 100644 index 3f171037a7..0000000000 --- a/c/src/ada-tests/sptests/sp07/sp07.scn +++ /dev/null @@ -1,32 +0,0 @@ -*** TEST 7 *** -TASKS_CREATE - TA1 - created. -TASKS_CREATE - TA2 - created. -TASKS_CREATE - TA3 - created. -TASKS_CREATE - TA4 - created. -TASKS_START - TA1 - started. -TASKS_START - TA2 - started. -TASKS_START - TA3 - started. -TASKS_START - TA4 - started. -TASKS_RESTART - TA3 - restarted. -INIT - task_set_note - set TA1's NOTEPAD_8 to TA1's initial priority: 4 -INIT - task_set_note - set TA2's NOTEPAD_8 to TA2's initial priority: 4 -<pause> -TA1 - task_set_priority - get initial priority of self: 4 -TA1 - task_get_note - get NOTEPAD_8 - current priority: 4 -TA1 - task_set_note - set TA2's NOTEPAD_8: 3 -TA1 - task_set_priority - set TA2's priority: 3 -TA2 - task_get_note - get NOTEPAD_8 - current priority: 3 -TA2 - task_set_note - set TA1's NOTEPAD_8: 2 -TA2 - task_set_priority - set TA1's priority: 2 -TA1 - task_get_note - get NOTEPAD_8 - current priority: 2 -TA1 - task_set_note - set TA2's NOTEPAD_8: 1 -TA1 - task_set_priority - set TA2's priority: 1 -TA2 - task_get_note - get NOTEPAD_8 - current priority: 1 -TA2 - task_suspend - suspend TA1 -TA2 - task_set_priority - set priority of TA1 ( blocked ) -TASKS_DELETE - TA2 deleting TA1 -TASKS_DELETE - TA2 deleting TA3 -TASKS_DELETE - TA2 deleting TA2 -TA4 - exitting task -TASK_EXITTED - user extension invoked correctly -*** END OF TEST 7 *** diff --git a/c/src/ada-tests/sptests/sp07/sptest.adb b/c/src/ada-tests/sptests/sp07/sptest.adb deleted file mode 100644 index 0c46cf1a62..0000000000 --- a/c/src/ada-tests/sptests/sp07/sptest.adb +++ /dev/null @@ -1,496 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 7 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- TCB_To_ID --- - - function TCB_To_ID ( - TCB : RTEMS.TCB_POINTER - ) return RTEMS.ID; - pragma Import (C, TCB_To_ID, "tcb_to_id" ); - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 7 ***" ); - - SPTEST.EXTENSION_NAME( 1 ) := RTEMS.BUILD_NAME( 'E', 'X', 'T', ' ' ); - - RTEMS.EXTENSION_CREATE( - SPTEST.EXTENSION_NAME( 1 ), - SPTEST.EXTENSIONS'ACCESS, - EXTENSION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EXTENSION_CREATE" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 250, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - 254, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - RTEMS.TASK_RESTART( SPTEST.TASK_ID( 3 ), 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF TA3" ); - - RTEMS.TASK_SET_NOTE( SPTEST.TASK_ID( 1 ), 8, 4, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE OF TA1" ); - TEXT_IO.PUT( "INIT - task_set_note - set TA1's NOTEPAD_8" ); - TEXT_IO.PUT_LINE( " to TA1's initial priority: 4" ); - - RTEMS.TASK_SET_NOTE( SPTEST.TASK_ID( 2 ), 8, 4, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE OF TA2" ); - TEXT_IO.PUT( "INIT - task_set_note - set TA2's NOTEPAD_8" ); - TEXT_IO.PUT_LINE( " to TA2's initial priority: 4" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - THE_PRIORITY : RTEMS.TASK_PRIORITY; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEST_SUPPORT.PAUSE; - - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - RTEMS.CURRENT_PRIORITY, - THE_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - TEXT_IO.PUT( "TA1 - task_set_priority - "); - TEXT_IO.PUT( "get initial priority of self: "); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - - loop - - RTEMS.TASK_GET_NOTE( RTEMS.SELF, 8, THE_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_GET_NOTE" ); - TEXT_IO.PUT( "TA1 - task_get_note - "); - TEXT_IO.PUT( "get NOTEPAD_8 - current priority: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - - THE_PRIORITY := THE_PRIORITY - 1; - - if THE_PRIORITY = 0 then - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA2" ); - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - TEXT_IO.PUT( "TA1 - task_set_priority - "); - TEXT_IO.PUT_LINE( "set priority of TA2 ( blocked )"); - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 2 ), - 5, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end if; - - TEXT_IO.PUT( "TA1 - task_set_note - set TA2's NOTEPAD_8: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_NOTE( - SPTEST.TASK_ID( 2 ), - 8, - THE_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE" ); - - TEXT_IO.PUT("TA1 - task_set_priority - set TA2's priority: "); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 2 ), - THE_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - end loop; - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - THE_PRIORITY : RTEMS.TASK_PRIORITY; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - loop - - RTEMS.TASK_GET_NOTE( RTEMS.SELF, 8, THE_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_GET_NOTE" ); - TEXT_IO.PUT( "TA2 - task_get_note - "); - TEXT_IO.PUT( "get NOTEPAD_8 - current priority: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - - THE_PRIORITY := THE_PRIORITY - 1; - - if THE_PRIORITY = 0 then - TEXT_IO.PUT_LINE( "TA2 - task_suspend - suspend TA1" ); - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - TEXT_IO.PUT( "TA2 - task_set_priority - "); - TEXT_IO.PUT_LINE( "set priority of TA1 ( blocked )"); - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 1 ), - 5, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - RTEMS.TASK_DELETE( - SPTEST.TASK_ID( 1 ), - STATUS - ); -- TA1 is blocked - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA1" ); - - RTEMS.TASK_DELETE( - SPTEST.TASK_ID( 3 ), - STATUS - ); -- TA3 is ready - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - else - - TEXT_IO.PUT( "TA2 - task_set_note - set TA1's NOTEPAD_8: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_NOTE( - SPTEST.TASK_ID( 1 ), - 8, - THE_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE" ); - - TEXT_IO.PUT( "TA2 - task_set_priority - "); - TEXT_IO.PUT( "set TA1's priority: "); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 1 ), - THE_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - end if; - - end loop; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - loop - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TEXT_IO.PUT_LINE( "TA4 - exitting task" ); - - end TASK_4; - ---PAGE --- --- TASK_EXIT_EXTENSION --- - - procedure TASK_EXIT_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RUNNING_TASK ) ) > 0 then - TEXT_IO.PUT_LINE( "TASK_EXITTED - user extension invoked correctly" ); - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 7 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_EXIT_EXTENSION; - ---PAGE --- --- TASK_CREATE_EXTENSION --- - - procedure TASK_CREATE_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - CREATED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( CREATED_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_CREATE - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( CREATED_TASK ) ) - ), - FALSE - ); - TEXT_IO.PUT_LINE( "- created." ); - end if; - - end TASK_CREATE_EXTENSION; - ---PAGE --- --- TASK_DELETE_EXTENSION --- - - procedure TASK_DELETE_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER; - DELETED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RUNNING_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_DELETE - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RUNNING_TASK ) ) - ), - FALSE - ); - end if; - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( DELETED_TASK ) ) > 0 then - TEXT_IO.PUT( "deleting " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( DELETED_TASK ) ) - ), - TRUE - ); - end if; - - end TASK_DELETE_EXTENSION; - ---PAGE --- --- TASK_RESTART_EXTENSION --- - - procedure TASK_RESTART_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - RESTARTED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RESTARTED_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_RESTART - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RESTARTED_TASK ) ) - ), - FALSE - ); - TEXT_IO.PUT_LINE( " - restarted." ); - end if; - - end TASK_RESTART_EXTENSION; - ---PAGE --- --- TASK_START_EXTENSION --- - - procedure TASK_START_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - STARTED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( STARTED_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_START - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( STARTED_TASK ) ) - ), - FALSE - ); - TEXT_IO.PUT_LINE( " - started." ); - end if; - - end TASK_START_EXTENSION; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp07/sptest.ads b/c/src/ada-tests/sptests/sp07/sptest.ads deleted file mode 100644 index 2fcfec1888..0000000000 --- a/c/src/ada-tests/sptests/sp07/sptest.ads +++ /dev/null @@ -1,186 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 7 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS extensions created --- by this test. --- - - EXTENSION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - EXTENSION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_CREATE_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_CREATE extension for this test. --- - - procedure TASK_CREATE_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - CREATED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_DELETE_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_DELETE extension for this test. --- - - procedure TASK_DELETE_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER; - DELETED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_RESTART_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_RESTART extension for this test. --- - - procedure TASK_RESTART_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - RESTARTED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_START_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_START extension for this test. --- - - procedure TASK_START_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - STARTED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_EXIT_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_EXIT extension for this test. --- It is invoked when a RTEMS task exits from its entry point. --- - - procedure TASK_EXIT_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER - ); - --- --- This is the User Extension Table for this test. --- - - EXTENSIONS : aliased RTEMS.EXTENSIONS_TABLE := - ( - SPTEST.TASK_CREATE_EXTENSION'ACCESS, -- Task create - SPTEST.TASK_START_EXTENSION'ACCESS, -- Task start - SPTEST.TASK_RESTART_EXTENSION'ACCESS, -- Task restart - SPTEST.TASK_DELETE_EXTENSION'ACCESS, -- Task delete - NULL, -- Task switch - NULL, -- Task post switch - NULL, -- Task begin - SPTEST.TASK_EXIT_EXTENSION'ACCESS, -- Task exitted - NULL -- Fatal error - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp08/config.h b/c/src/ada-tests/sptests/sp08/config.h deleted file mode 100644 index 7fc8c7580e..0000000000 --- a/c/src/ada-tests/sptests/sp08/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp08/sp08.adb b/c/src/ada-tests/sptests/sp08/sp08.adb deleted file mode 100644 index 2f1a587979..0000000000 --- a/c/src/ada-tests/sptests/sp08/sp08.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP08 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP08 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP08; - diff --git a/c/src/ada-tests/sptests/sp08/sp08.scn b/c/src/ada-tests/sptests/sp08/sp08.scn deleted file mode 100644 index bc829b849a..0000000000 --- a/c/src/ada-tests/sptests/sp08/sp08.scn +++ /dev/null @@ -1,20 +0,0 @@ -*** TEST 8 *** -TA1 - task_mode - ASR - previous mode: 16#0# -TA1 - task_mode - NO_ASR - previous mode: 16#0# -TA1 - task_mode - NO_ASR - previous mode: 16#400# -TA1 - task_mode - ASR - previous mode: 16#400# -TA1 - task_mode - NO_TIMESLICE - previous mode: 16#0# -TA1 - task_mode - TIMESLICE - previous mode: 16#0# -TA1 - task_mode - TIMESLICE - previous mode: 16#200# -TA1 - task_mode - NO_TIMESLICE - previous mode: 16#200# -TA1 - task_mode - PREEMPT - previous mode: 16#0# -TA1 - task_mode - NO_PREEMPT - previous mode: 16#0# -TA1 - task_mode - NO_PREEMPT - previous mode: 16#100# -TA1 - task_mode - PREEMPT - previous mode: 16#100# -TA1 - task_mode - INTERRUPT_LEVEL( 3 ) - previous mode: 16#0# -TA1 - task_mode - INTERRUPT_LEVEL( 5 ) - previous mode: 16#3# -TA1 - task_mode - set all modes - previous mode: 16#5# -TA1 - task_mode - set all modes - previous mode: 16#703# -TA1 - task_mode - clear all modes - previous mode: 16#703# -TA1 - task_mode - get current mode - previous mode: 16#0# -*** END OF TEST 8 *** diff --git a/c/src/ada-tests/sptests/sp08/sptest.adb b/c/src/ada-tests/sptests/sp08/sptest.adb deleted file mode 100644 index 725849df43..0000000000 --- a/c/src/ada-tests/sptests/sp08/sptest.adb +++ /dev/null @@ -1,351 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 8 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 8 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_MODE --- - - procedure PUT_MODE( - COMMENT : in STRING; - OUTPUT_MODE : in RTEMS.MODE - ) is - begin - - TEXT_IO.PUT( COMMENT ); - UNSIGNED32_IO.PUT( OUTPUT_MODE, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - end PUT_MODE; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - --- BEGINNING OF ASR - - RTEMS.TASK_MODE( - RTEMS.ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - ASR - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_ASR - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_ASR - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - ASR - previous mode: ", - PREVIOUS_MODE - ); - --- END OF ASR - --- BEGINNING OF TIMESLICE - - RTEMS.TASK_MODE( - RTEMS.NO_TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - --- END OF TIMESLICE - --- BEGINNING OF PREEMPT - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - --- END OF PREEMPT - --- BEGINNING OF INTERRUPT LEVEL - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 3 ), - RTEMS.INTERRUPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - INTERRUPT_LEVEL( 3 ) - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 5 ), - RTEMS.INTERRUPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - INTERRUPT_LEVEL( 5 ) - previous mode: ", - PREVIOUS_MODE - ); - --- END OF INTERRUPT LEVEL - --- BEGINNING OF COMBINATIONS - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 3 ) + RTEMS.NO_ASR + - RTEMS.TIMESLICE + RTEMS.NO_PREEMPT, - RTEMS.INTERRUPT_MASK + RTEMS.ASR_MASK + - RTEMS.TIMESLICE_MASK + RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - set all modes - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 3 ) + RTEMS.NO_ASR + - RTEMS.TIMESLICE + RTEMS.NO_PREEMPT, - RTEMS.INTERRUPT_MASK + RTEMS.ASR_MASK + - RTEMS.TIMESLICE_MASK + RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - set all modes - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 0 ) + RTEMS.ASR + - RTEMS.NO_TIMESLICE + RTEMS.PREEMPT, - RTEMS.INTERRUPT_MASK + RTEMS.ASR_MASK + - RTEMS.TIMESLICE_MASK + RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - clear all modes - previous mode: ", - PREVIOUS_MODE - ); - --- END OF COMBINATIONS - --- BEGINNING OF CURRENT MODE - - RTEMS.TASK_MODE( - RTEMS.CURRENT_MODE, - RTEMS.CURRENT_MODE, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - get current mode - previous mode: ", - PREVIOUS_MODE - ); - --- END OF CURRENT MODE - - TEXT_IO.PUT_LINE( "*** END OF TEST 8 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp08/sptest.ads b/c/src/ada-tests/sptests/sp08/sptest.ads deleted file mode 100644 index c9f0327172..0000000000 --- a/c/src/ada-tests/sptests/sp08/sptest.ads +++ /dev/null @@ -1,74 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 8 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_MODE --- --- DESCRIPTION: --- --- This subprogram prints the COMMENT and the OUTPUT_MODE followed --- by a carriage return. --- - - procedure PUT_MODE( - COMMENT : in STRING; - OUTPUT_MODE : in RTEMS.MODE - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the TASK_MODE directive of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp09/config.h b/c/src/ada-tests/sptests/sp09/config.h deleted file mode 100644 index adf05616b7..0000000000 --- a/c/src/ada-tests/sptests/sp09/config.h +++ /dev/null @@ -1,42 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 1 -#define CONFIGURE_MAXIMUM_SEMAPHORES 2 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_MAXIMUM_PARTITIONS 1 -#define CONFIGURE_MAXIMUM_REGIONS 1 -#define CONFIGURE_MAXIMUM_PERIODS 1 -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 0 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp09/sp09.adb b/c/src/ada-tests/sptests/sp09/sp09.adb deleted file mode 100644 index 669b52c1ef..0000000000 --- a/c/src/ada-tests/sptests/sp09/sp09.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP09 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP09 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP09; - diff --git a/c/src/ada-tests/sptests/sp09/sp09.scn b/c/src/ada-tests/sptests/sp09/sp09.scn deleted file mode 100644 index a82582e51f..0000000000 --- a/c/src/ada-tests/sptests/sp09/sp09.scn +++ /dev/null @@ -1,250 +0,0 @@ -*** TEST 9 *** -INIT - task_create - INVALID_SIZE -- NOT CHECKED -INIT - task_create - INVALID_PRIORITY -INIT - task_restart - INCORRECT_STATE -TA1 - task_delete - INVALID_ID -TA1 - task_get_note - INVALID_NUMBER -- constraint error -TA1 - task_get_note - INVALID_ID -TA1 - task_ident - current task SUCCESSFUL -TA1 - task_ident - global INVALID_NAME -TA1 - task_ident - local INVALID_NAME -TA1 - task_ident - INVALID_NODE -TA1 - task_restart - INVALID_ID -TA1 - task_resume - INVALID_ID -TA1 - task_resume - INCORRECT_STATE -TA1 - task_set_priority - INVALID_PRIORITY -- constraint error -TA1 - task_set_priority - INVALID_ID -TA1 - task_set_note - INVALID_NUMBER -- constraint error -TA1 - task_set_note - INVALID_ID -TA1 - task_start - INVALID_ID -TA1 - task_start - INCORRECT_STATE -TA1 - task_suspend - INVALID_ID -<pause - screen 2> -TA1 - clock_get - NOT_DEFINED -TA1 - task_wake_when - NOT_DEFINED -TA1 - timer_fire_when - NOT_DEFINED -TA1 - clock_set - 8:30:45 2/ 5/1987 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 15/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 2/32/1988 - INVALID_CLOCK -TA1 - clock_set - 25:30:45 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:61:45 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:61 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 2/ 5/1988 - SUCCESSFUL -TA1 - task_wake_when - TICK INVALID - sleep about 3 seconds -TA1 - task_wake_when - TICK INVALID - woke up SUCCESSFUL -TA1 - task_wake_when - 8:30:48 2/ 5/1961 - INVALID_CLOCK -TA1 - task_wake_when - 25:30:48 2/ 5/1988 - INVALID_CLOCK -TA1 - current time - 8:30:48 2/ 5/1988 -TA1 - task_wake_when - 8:30:48 1/ 5/1988 - INVALID_CLOCK -<pause - screen 3> -TA1 - task_create - INVALID_NAME -TA1 - task_create - stack size - UNSATISFIED -TA1 - task_create - TA2 created - SUCCESSFUL -TA1 - task_suspend - suspend TA2 - SUCCESSFUL -TA1 - task_suspend - suspend TA2 - ALREADY_SUSPENDED -TA1 - task_resume - TA2 resumed - SUCCESSFUL -TA1 - task_create - TA3 created - SUCCESSFUL -TA1 - task_create - 4 created - SUCCESSFUL -TA1 - task_create - 5 created - SUCCESSFUL -TA1 - task_create - 6 created - SUCCESSFUL -TA1 - task_create - 7 created - SUCCESSFUL -TA1 - task_create - 8 created - SUCCESSFUL -TA1 - task_create - 9 created - SUCCESSFUL -TA1 - task_create - 10 created - SUCCESSFUL -TA1 - task_create - 11 - TOO_MANY -TA1 - task_create - MP_NOT_CONFIGURED -<pause - screen 4> -TA1 - event_receive - UNSATISFIED ( all conditions ) -TA1 - event_receive - UNSATISFIED ( any conditions ) -TA1 - event_receive - timeout in 3 seconds -TA1 - event_receive - woke with TIMEOUT -TA1 - event_send - INVALID_ID -TA1 - task_wake_after - sleep 1 second - SUCCESSFUL -TA1 - clock_set - 8:30:45 2/ 5/1988 - SUCCESSFUL -<pause - screen 5> -TA1 - semaphore_create - INVALID_NAME -TA1 - semaphore_create - 1 - SUCCESSFUL -TA1 - semaphore_create - 2 - SUCCESSFUL -TA1 - semaphore_create - 3 - TOO_MANY -TA1 - semaphore_create - NOT_DEFINED -TA1 - semaphore_create - NOT_DEFINED -TA1 - semaphore_create - INVALID_NUMBER -TA1 - semaphore_create - MP_NOT_CONFIGURED -TA1 - semaphore_delete - unknown INVALID_ID -TA1 - semaphore_delete - local INVALID_ID -TA1 - semaphore_ident - global INVALID_NAME -TA1 - semaphore_ident - local INVALID_NAME -<pause - screen 6> -TA1 - semaphore_obtain - INVALID_ID -TA1 - semaphore_obtain - got sem 1 - SUCCESSFUL -TA1 - semaphore_obtain - UNSATISFIED -TA1 - semaphore_obtain - timeout in 3 seconds -TA1 - semaphore_obtain - woke with TIMEOUT -TA1 - semaphore_release - NOT_OWNER_OF_RESOURCE -TA1 - semaphore_release - INVALID_ID -TA1 - task_start - start TA2 - SUCCESSFUL -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA2 - semaphore_obtain - sem 1 - WAIT FOREVER -TA1 - semaphore_delete - delete sem 1 - SUCCESSFUL -TA1 - semaphore_obtain - binary semaphore -TA1 - semaphore_delete - delete sem 2 - RESOURCE_IN_USE -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA2 - semaphore_obtain - woke up with OBJECT_WAS_DELETED -TA2 - task_delete - delete self - SUCCESSFUL -TA1 - task_delete TA2 - already deleted INVALID_ID -<pause - screen 7> -TA1 - message_queue_broadcast - INVALID_ID -TA1 - message_queue_create - Q 1 - INVALID_NAME -TA1 - message_queue_create - Q 1 - MP_NOT_CONFIGURED -TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL -TA1 - message_queue_create - Q 2 - TOO_MANY -TA1 - message_queue_delete - unknown INVALID_ID -TA1 - message_queue_delete - local INVALID_ID -TA1 - message_queue_ident - INVALID_NAME -TA1 - message_queue_flush - INVALID_ID -TA1 - message_queue_receive - INVALID_ID -TA1 - message_queue_receive - Q 1 - UNSATISFIED -TA1 - message_queue_receive - Q 1 - timeout in 3 seconds -TA1 - message_queue_receive - Q 1 - woke up with TIMEOUT -TA1 - message_queue_send - INVALID_ID -TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY -<pause - screen 8> -TA1 - message_queue_delete - Q 1 - SUCCESSFUL -TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL -TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY -TA1 - message_queue_delete - Q 1 - SUCCESSFUL -TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL -TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 3 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 4 TO Q 1 - TOO_MANY -TA1 - message_queue_delete - Q 1 - SUCCESSFUL -TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL -TA1 - task_start - start TA3 - SUCCESSFUL -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA3 - message_queue_receive - Q 1 - WAIT FOREVER -TA1 - message_queue_delete - delete Q 1 - SUCCESSFUL -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA3 - message_queue_receive - woke up with OBJECT_WAS_DELETED -TA3 - task_delete - delete self - SUCCESSFUL -<pause - screen 9> -TA1 - interrupt_catch - INVALID_NUMBER -- constraint error -TA1 - interrupt_catch - INVALID_ADDRESS -TA1 - signal_send - INVALID_ID -TA1 - signal_send - NOT_DEFINED -TA1 - port_create - INVALID_NAME -TA1 - port_create - INVALID_ADDRESS -TA1 - port_create - TOO_MANY -TA1 - port_delete - INVALID_ID -TA1 - port_ident - INVALID_NAME -TA1 - port_internal_to_external - INVALID_ID -TA1 - port_external_to_internal - INVALID_ID -<pause - screen 10> -TA1 - rate_monotonic_create - INVALID_NAME -TA1 - rate_monotonic_create - SUCCESSFUL -TA1 - rate_monotonic_create - TOO_MANY -TA1 - rate_monotonic_ident - INVALID_NAME -TA1 - rate_monotonic_period - unknown INVALID_ID -TA1 - rate_monotonic_period - local INVALID_ID -TA1 - rate_monotonic_period( STATUS ) - NOT_DEFINED -TA1 - rate_monotonic_period - 100 ticks - SUCCESSFUL -TA1 - rate_monotonic_period( STATUS ) - SUCCESSFUL -TA1 - rate_monotonic_period( STATUS ) - TIMEOUT -TA1 - rate_monotonic_cancel - unknown INVALID_ID -TA1 - rate_monotonic_cancel - local INVALID_ID -TA1 - rate_monotonic_cancel - SUCCESSFUL -TA1 - rate_monotonic_period - 5 ticks - TIMEOUT -TA1 - task_wake_after - yielding to TA4 -TA4 - rate_monotonic_cancel - NOT_OWNER_OF_RESOURCE -TA4 - rate_monotonic_period - NOT_OWNER_OF_RESOURCE -TA4 - task_delete - delete self - SUCCESSFUL -TA1 - rate_monotonic_delete - unknown INVALID_ID -TA1 - rate_monotonic_delete - local INVALID_ID -TA1 - rate_monotonic_delete - SUCCESSFUL -<pause - screen 11> -TA1 - partition_create - INVALID_NAME -TA1 - partition_create - length - INVALID_SIZE -TA1 - partition_create - buffer size - INVALID_SIZE -TA1 - partition_create - length < buffer size - INVALID_SIZE -TA1 - partition_create - MP_NOT_CONFIGURED -TA1 - partition_create - INVALID_ADDRESS -TA1 - partition_create - INVALID_SIZE -TA1 - partition_delete - unknown INVALID_ID -TA1 - partition_delete - local INVALID_ID -TA1 - partition_get_buffer - INVALID_ID -TA1 - partition_ident - INVALID_NAME -TA1 - partition_return_buffer - INVALID_ID -TA1 - partition_create - SUCCESSFUL -TA1 - partition_create - TOO_MANY -TA1 - partition_get_buffer - SUCCESSFUL -TA1 - partition_get_buffer - SUCCESSFUL -TA1 - partition_get_buffer - UNSATISFIED -TA1 - partition_delete - RESOURCE_IN_USE -TA1 - partition_return_buffer - INVALID_ADDRESS - out of range -TA1 - partition_return_buffer - INVALID_ADDRESS - not on boundary -<pause - screen 12> -TA1 - region_create - INVALID_NAME -TA1 - region_create - INVALID_ADDRESS -TA1 - region_create - INVALID_SIZE -TA1 - region_create - SUCCESSFUL -TA1 - region_create - TOO_MANY -TA1 - region_delete - unknown INVALID_ID -TA1 - region_delete - local INVALID_ID -TA1 - region_ident - INVALID_NAME -TA1 - region_get_segment - INVALID_ID -TA1 - region_get_segment - INVALID_SIZE -TA1 - region_get_segment - SUCCESSFUL -TA1 - region_get_segment - UNSATISFIED -TA1 - region_get_segment - timeout in 3 seconds -TA1 - region_get_segment - woke up with TIMEOUT -TA1 - region_delete - RESOURCE_IN_USE -TA1 - region_return_segment - INVALID_ID -TA1 - region_return_segment - INVALID_ADDRESS -TA1 - debug_disable - DEBUG_REGION -TA1 - region_return_segment - INVALID_ADDRESS -TA1 - region_return_segment - INVALID_ADDRESS -TA1 - debug_enable - DEBUG_REGION -TA1 - region_extend - INVALID_ID -TA1 - region_extend - within heap - INVALID_ADDRESS -TA1 - region_extend - non-contiguous lower - NOT_IMPLEMENTED -TA1 - region_extend - contiguous lower - NOT_IMPLEMENTED -TA1 - region_extend - non-contiguous higher - NOT_IMPLEMENTED -<pause - screen 13> -TA1 - io_close - INVALID_NUMBER -TA1 - io_control - INVALID_NUMBER -TA1 - io_initialize - INVALID_NUMBER -TA1 - io_open - INVALID_NUMBER -TA1 - io_read - INVALID_NUMBER -TA1 - io_write - INVALID_NUMBER -TA1 - clock_set - 23:59:59 12/31/2000 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2001 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/1999 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2000 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/2100 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2101 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/2099 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2100 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/1991 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/1992 - SUCCESSFUL -<pause - screen 14> -TA1 - timer_create - INVALID_NAME -TA1 - timer_create - 1 - SUCCESSFUL -TA1 - timer_create - 2 - TOO_MANY -TA1 - timer_delete - local INVALID_ID -TA1 - timer_delete - global INVALID_ID -TA1 - timer_ident - INVALID_NAME -TA1 - timer_cancel - INVALID_ID -TA1 - timer_reset - INVALID_ID -TA1 - timer_reset - NOT_DEFINED -TA1 - timer_fire_after - INVALID_ID -TA1 - timer_fire_when - INVALID_ID -TA1 - timer_fire_after - INVALID_NUMBER -TA1 - timer_fire_when - 8:30:45 2/ 5/1987 - INVALID_CLOCK -TA1 - clock_get - 0: 0: 0 1/ 1/1992 -TA1 - timer_fire_when - 8:30:45 2/ 5/1990 - before INVALID_CLOCK -*** END OF TEST 9 *** diff --git a/c/src/ada-tests/sptests/sp09/sptest.adb b/c/src/ada-tests/sptests/sp09/sptest.adb deleted file mode 100644 index 960b610f77..0000000000 --- a/c/src/ada-tests/sptests/sp09/sptest.adb +++ /dev/null @@ -1,3208 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 9 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 9 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - SPTEST.TASK_NAME( 6 ) := RTEMS.BUILD_NAME( 'T', 'A', '6', ' ' ); - SPTEST.TASK_NAME( 7 ) := RTEMS.BUILD_NAME( 'T', 'A', '7', ' ' ); - SPTEST.TASK_NAME( 8 ) := RTEMS.BUILD_NAME( 'T', 'A', '8', ' ' ); - SPTEST.TASK_NAME( 9 ) := RTEMS.BUILD_NAME( 'T', 'A', '9', ' ' ); - SPTEST.TASK_NAME( 10 ) := RTEMS.BUILD_NAME( 'T', 'A', 'A', ' ' ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - SPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - SPTEST.SEMAPHORE_NAME( 2 ) := RTEMS.BUILD_NAME( 'S', 'M', '2', ' ' ); - SPTEST.SEMAPHORE_NAME( 3 ) := RTEMS.BUILD_NAME( 'S', 'M', '3', ' ' ); - - SPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ); - SPTEST.QUEUE_NAME( 2 ) := RTEMS.BUILD_NAME( 'M', 'Q', '2', ' ' ); - - SPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'T', '1', ' ' ); - - SPTEST.REGION_NAME( 1 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - - SPTEST.PORT_NAME( 1 ) := RTEMS.BUILD_NAME( 'D', 'P', '1', ' ' ); - - SPTEST.PERIOD_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - --- RTEMS.TASK_CREATE( --- SPTEST.TASK_NAME( 1 ), --- 4, --- 10, --- RTEMS.DEFAULT_MODES, --- RTEMS.DEFAULT_ATTRIBUTES, --- SPTEST.TASK_ID( 1 ), --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_SIZE, --- "TASK_CREATE WITH ILLEGAL STACK SIZE" --- ); - TEXT_IO.PUT_LINE( "INIT - task_create - INVALID_SIZE -- NOT CHECKED" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 0, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_PRIORITY, - "TASK_CREATE WITH ILLEGAL PRIORITY" - ); - TEXT_IO.PUT_LINE( "INIT - task_create - INVALID_PRIORITY" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_RESTART( - SPTEST.TASK_ID( 1 ), - 0, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INCORRECT_STATE, - "TASK_RESTART OF DORMANT TASK" - ); - TEXT_IO.PUT_LINE( "INIT - task_restart - INCORRECT_STATE" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- DELAYED_SUBPROGRAM --- - - procedure DELAYED_SUBPROGRAM ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - NULL; - - end DELAYED_SUBPROGRAM; - ---PAGE --- --- SERVICE_ROUTINE --- - - procedure SERVICE_ROUTINE ( - IGNORED : in RTEMS.VECTOR_NUMBER - ) is - begin - - NULL; - - end SERVICE_ROUTINE; - ---PAGE --- --- SCREEN_1 --- - - procedure SCREEN_1 - is - NOTEPAD_VALUE : RTEMS.UNSIGNED32; - SELF_ID : RTEMS.ID; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_delete - INVALID_ID" ); - --- RTEMS.TASK_GET_NOTE( RTEMS.SELF, --- RTEMS.NOTEPAD_INDEX'LAST + 10, --- NOTEPAD_VALUE, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_NUMBER, --- "TASK_GET_NOTE WITH ILLEGAL NOTEPAD" --- ); --- TEXT_IO.PUT_LINE( "TA1 - task_get_note - INVALID_NUMBER" ); - TEXT_IO.PUT_LINE( - "TA1 - task_get_note - INVALID_NUMBER -- constraint error" - ); - - RTEMS.TASK_GET_NOTE( - 100, - RTEMS.NOTEPAD_INDEX'LAST, - NOTEPAD_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_GET_NOTE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_get_note - INVALID_ID" ); - - RTEMS.TASK_IDENT( - RTEMS.SELF, - RTEMS.SEARCH_ALL_NODES, - SELF_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - if SELF_ID /= SPTEST.TASK_ID( 1 ) then - TEXT_IO.PUT_LINE( "ERROR - task_ident - incorrect ID returned!" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - TEXT_IO.PUT_LINE( - "TA1 - task_ident - current task SUCCESSFUL" - ); - - RTEMS.TASK_IDENT( - 100, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TASK_IDENT WITH ILLEGAL NAME (local)" - ); - TEXT_IO.PUT_LINE( "TA1 - task_ident - global INVALID_NAME" ); - - RTEMS.TASK_IDENT( 100, 1, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TASK_IDENT WITH ILLEGAL NAME (global)" - ); - TEXT_IO.PUT_LINE( "TA1 - task_ident - local INVALID_NAME" ); - - RTEMS.TASK_IDENT( 100, 2, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NODE, - "TASK_IDENT WITH ILLEGAL NODE" - ); - TEXT_IO.PUT_LINE( "TA1 - task_ident - INVALID_NODE" ); - - RTEMS.TASK_RESTART( 100, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_RESTART WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_restart - INVALID_ID" ); - - RTEMS.TASK_RESUME( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_RESUME WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_resume - INVALID_ID" ); - - RTEMS.TASK_RESUME( RTEMS.SELF, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INCORRECT_STATE, - "TASK_RESUME OF READY TASK" - ); - TEXT_IO.PUT_LINE( "TA1 - task_resume - INCORRECT_STATE" ); - --- RTEMS.TASK_SET_PRIORITY( RTEMS.SELF, 512, PREVIOUS_PRIORITY, STATUS ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_PRIORITY, --- "TASK_SET_PRIORITY WITH ILLEGAL PRIORITY" --- ); --- TEXT_IO.PUT_LINE( --- "TA1 - task_set_priority - INVALID_PRIORITY" --- ); - TEXT_IO.PUT_LINE( - "TA1 - task_set_priority - INVALID_PRIORITY -- constraint error" - ); - - RTEMS.TASK_SET_PRIORITY( 100, 8, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_SET_PRIORITY WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_set_priority - INVALID_ID" ); - --- RTEMS.TASK_SET_NOTE( RTEMS.SELF, --- RTEMS.NOTEPAD_INDEX'LAST + 10, --- NOTEPAD_VALUE, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_NUMBER, --- "TASK_SET_NOTE WITH ILLEGAL NOTEPAD" --- ); --- TEXT_IO.PUT_LINE( "TA1 - task_set_note - INVALID_NUMBER" ); - TEXT_IO.PUT_LINE( - "TA1 - task_set_note - INVALID_NUMBER -- constraint error" - ); - - RTEMS.TASK_SET_NOTE( - 100, - RTEMS.NOTEPAD_INDEX'LAST, - NOTEPAD_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_SET_NOTE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_set_note - INVALID_ID" ); - - RTEMS.TASK_START( 100, SPTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_START WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_start - INVALID_ID" ); - - RTEMS.TASK_START( RTEMS.SELF, SPTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INCORRECT_STATE, - "TASK_START OF READY TASK" - ); - TEXT_IO.PUT_LINE( "TA1 - task_start - INCORRECT_STATE" ); - - RTEMS.TASK_SUSPEND( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_SUSPEND WITH INVALID ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_suspend - INVALID_ID" ); - - end SCREEN_1; - ---PAGE --- --- SCREEN_2 --- - - procedure SCREEN_2 - is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - --- errors before clock is set - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - - if RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - TEXT_IO.PUT_LINE( - "TA1 - clock_get - NOT_DEFINED -- DID THE BSP SET THE TIME OF DAY?" - ); - else - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "CLOCK_GET BEFORE CLOCK IS SET" - ); - TEXT_IO.PUT_LINE( "TA1 - clock_get - NOT_DEFINED" ); - end if; - - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - if RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - TEXT_IO.PUT( "TA1 - task_wake_when - NOT_DEFINED -- " ); - TEXT_IO.PUT_LINE( "DID THE BSP SET THE TIME OF DAY?" ); - else - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "TASK_WAKE_WHEN BEFORE CLOCK IS SET" - ); - TEXT_IO.PUT_LINE( "TA1 - task_wake_when - NOT_DEFINED" ); - end if; - - RTEMS.TIMER_FIRE_WHEN( - 0, - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - - if RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - TEXT_IO.PUT( "TA1 - task_fire_when - NOT_DEFINED -- " ); - TEXT_IO.PUT_LINE( "DID THE BSP SET THE TIME OF DAY?" ); - else - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "TIMER_FIRE_WHEN BEFORE CLOCK IS SET" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_when - NOT_DEFINED" ); - - end if; - --- invalid time of day field - - TIME := ( 1987, 2, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID YEAR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 15, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID MONTH" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 32, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID DAY" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 25, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID HOUR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 61, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID MINUTE" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 30, 61, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID SECOND" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 30, 45, TEST_SUPPORT.TICKS_PER_SECOND + 1 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID TICKS PER SECOND" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEXT_IO.PUT_LINE( " - SUCCESSFUL" ); - --- task_wake_when - - TIME := ( 1988, 2, 5, 8, 30, 48, TEST_SUPPORT.TICKS_PER_SECOND + 1 ); - TEXT_IO.PUT( "TA1 - task_wake_when - TICK INVALID - " ); - TEXT_IO.PUT_LINE( "sleep about 3 seconds" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "TASK_WAKE_WHEN WITH INVALID TICKS PER SECOND" - ); - TEXT_IO.PUT( "TA1 - task_wake_when - TICK INVALID - " ); - TEXT_IO.PUT_LINE( "woke up SUCCESSFUL" ); - - TIME := ( 1961, 2, 5, 8, 30, 48, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TASK_WAKE_WHEN WITH INVALID YEAR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 25, 30, 48, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TASK_WAKE_WHEN WITH INVALID HOUR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( "TA1 - current time - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TIME.MONTH := 1; - TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TASK_WAKE_WHEN BEFORE CURRENT TIME" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - end SCREEN_2; - ---PAGE --- --- SCREEN_3 --- - - procedure SCREEN_3 - is - TASK_NAME : RTEMS.NAME; - STATUS : RTEMS.STATUS_CODES; - begin - - TASK_NAME := 1; - - RTEMS.TASK_CREATE( - 0, - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TASK_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - INVALID_NAME" - ); - - RTEMS.TASK_CREATE( - TASK_NAME, - 1, - RTEMS.CONFIGURATION.WORK_SPACE_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "TASK_CREATE WITH A STACK SIZE LARGER THAN THE WORKSPACE" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - stack size - UNSATISFIED" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - TA2 created - SUCCESSFUL" - ); - - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - TEXT_IO.PUT_LINE( - "TA1 - task_suspend - suspend TA2 - SUCCESSFUL" - ); - - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ALREADY_SUSPENDED, - "TASK_SUSPEND ON SUSPENDED TA2" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_suspend - suspend TA2 - ALREADY_SUSPENDED" - ); - - RTEMS.TASK_RESUME( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" ); - TEXT_IO.PUT_LINE( - "TA1 - task_resume - TA2 resumed - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - TA3 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 4 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 5 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 5 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 6 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 6 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA6" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 6 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 7 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 7 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA7" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 7 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 8 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 8 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA8" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 8 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 9 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 9 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA9" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 9 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 10 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 10 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA10" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 10 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - TASK_NAME, - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "TASK_CREATE FOR TOO MANY TASKS" - ); - TEXT_IO.PUT_LINE( "TA1 - task_create - 11 - TOO_MANY" ); - - RTEMS.TASK_CREATE( - TASK_NAME, - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "TASK_CREATE OF GLOBAL TASK IN SINGLE CPU SYSTEM" - ); - TEXT_IO.PUT_LINE( "TA1 - task_create - MP_NOT_CONFIGURED" ); - - end SCREEN_3; - ---PAGE --- --- SCREEN_4 --- - - procedure SCREEN_4 - is - EVENT_OUT : RTEMS.EVENT_SET; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE UNSATISFIED (ALL)" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - UNSATISFIED ( all conditions )" - ); - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE UNSATISFIED (ANY)" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - UNSATISFIED ( any conditions )" - ); - - TEXT_IO.PUT_LINE( "TA1 - event_receive - timeout in 3 seconds" ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "EVENT_RECEIVE AFTER 3 SECOND TIMEOUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - woke with TIMEOUT" - ); - - RTEMS.EVENT_SEND( - 100, - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "EVENT_SEND WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_send - INVALID_ID" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - sleep 1 second - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (1 SECOND)" ); - - TIME := ( 1988, 2, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEXT_IO.PUT_LINE( " - SUCCESSFUL" ); - - end SCREEN_4; - ---PAGE --- --- SCREEN_5 --- - - procedure SCREEN_5 - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_CREATE( - 0, - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "SEMAPHORE_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - INVALID_NAME" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SEMAPHORE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 1 - SUCCESSFUL" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 1, - RTEMS.BINARY_SEMAPHORE, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SEMAPHORE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 2 - SUCCESSFUL" ); - - loop - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 3 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - - exit when not RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.SUCCESSFUL ); - end loop; - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "SEMAPHORE_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 3 - TOO_MANY" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.INHERIT_PRIORITY + RTEMS.BINARY_SEMAPHORE + RTEMS.FIFO, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "SEMAPHORE_CREATE OF FIFO INHERIT PRIORITY" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - NOT_DEFINED"); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.INHERIT_PRIORITY + RTEMS.COUNTING_SEMAPHORE + RTEMS.PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "SEMAPHORE_CREATE OF COUNTING_SEMAPHORE INHERIT PRIORITY" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - NOT_DEFINED"); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 2, - RTEMS.BINARY_SEMAPHORE, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "SEMAPHORE_CREATE OF BINARY_SEMAPHORE with COUNT > 1" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - INVALID_NUMBER"); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 3 ), - 1, - RTEMS.GLOBAL, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "SEMAPHORE_CREATE OF MP_NOT_CONFIGURED" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - MP_NOT_CONFIGURED"); - - RTEMS.SEMAPHORE_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - unknown INVALID_ID" - ); - - RTEMS.SEMAPHORE_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_DELETE WITH LOCAL ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - local INVALID_ID" - ); - - RTEMS.SEMAPHORE_IDENT( - 100, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "SEMAPHORE_IDENT WITH ILLEGAL NAME (local)" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_ident - global INVALID_NAME" - ); - - RTEMS.SEMAPHORE_IDENT( 100, 1, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "SEMAPHORE_IDENT WITH ILLEGAL NAME (global)" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_ident - local INVALID_NAME" - ); - - end SCREEN_5; - ---PAGE --- --- SCREEN_6 --- - - procedure SCREEN_6 - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - 100, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_OBTAIN WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - INVALID_ID" ); - - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED(STATUS, "SEMAPHORE_OBTAIN SUCCESSFUL"); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_obtain - got sem 1 - SUCCESSFUL" - ); - - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "SEMAPHORE_OBTAIN NOT AVAILABLE" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - UNSATISFIED" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - timeout in 3 seconds" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "SEMAPHORE_OBTAIN NOT AVAILABLE" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_obtain - woke with TIMEOUT" - ); - - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_OWNER_OF_RESOURCE, - "SEMAPHORE_RELEASE AND NOT OWNER" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_release - NOT_OWNER_OF_RESOURCE" - ); - - RTEMS.SEMAPHORE_RELEASE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_RELEASE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - INVALID_ID" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_start - start TA2 - SUCCESSFUL" - ); - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - delete sem 1 - SUCCESSFUL" - ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - binary semaphore" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - delete sem 2 - RESOURCE_IN_USE" - ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.RESOURCE_IN_USE, - "SEMAPHORE_DELETE OF SM2" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_DELETE AFTER THE TASK HAS BEEN DELETED" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_delete TA2 - already deleted INVALID_ID" - ); - - end SCREEN_6; - ---PAGE --- --- SCREEN_7 --- - - procedure SCREEN_7 - is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_BROADCAST( - 100, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_BROADCAST WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_broadcast - INVALID_ID" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - 0, - 3, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "MESSAGE_QUEUE_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - INVALID_NAME" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 1, - 16, - RTEMS.GLOBAL, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "MESSAGE_QUEUE_CREATE OF MP NOT CONFIGURED" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - MP_NOT_CONFIGURED"); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 2, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 2 ), - 1, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 2 - TOO_MANY" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - unknown INVALID_ID" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_DELETE WITH LOCAL ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - local INVALID_ID" - ); - - RTEMS.MESSAGE_QUEUE_IDENT( - 100, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "MESSAGE_QUEUE_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_ident - INVALID_NAME" ); - - RTEMS.MESSAGE_QUEUE_FLUSH( 100, COUNT, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_FLUSH WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - INVALID_ID" ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - 100, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_RECEIVE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_receive - INVALID_ID" ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "MESSAGE_QUEUE_RECEIVE UNSATISFIED" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_receive - Q 1 - UNSATISFIED" - ); - - TEXT_IO.PUT_LINE( - "TA1 - message_queue_receive - Q 1 - timeout in 3 seconds" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "MESSAGE_QUEUE_RECEIVE 3 SECOND TIMEOUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_receive - Q 1 - woke up with TIMEOUT" - ); - - RTEMS.MESSAGE_QUEUE_SEND( 100, BUFFER_POINTER, 16, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_SEND WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - INVALID_ID" ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY" - ); - - end SCREEN_7; - ---PAGE --- --- SCREEN_8 --- - - procedure SCREEN_8 - is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 2, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 3, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 3 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 4 TO Q 1 - TOO_MANY" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 2, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_start - start TA3 - SUCCESSFUL" - ); - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - delete Q 1 - SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - end SCREEN_8; - ---PAGE --- --- SCREEN_9 --- - - procedure SCREEN_9 - is - CONVERTED : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - OLD_SERVICE_ROUTINE : RTEMS.ADDRESS; - begin - --- RTEMS.INTERRUPT_CATCH( --- SPTEST.SERVICE_ROUTINE'ACCESS, --- 500, --- OLD_SERVICE_ROUTINE, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_NUMBER, --- "INTERRUPT_CATCH WITH INVALID VECTOR" --- ); --- TEXT_IO.PUT_LINE( "TA1 - interrupt_catch - INVALID_NUMBER" ); - TEXT_IO.PUT_LINE( - "TA1 - interrupt_catch - INVALID_NUMBER -- constraint error" - ); - - RTEMS.INTERRUPT_CATCH( - RTEMS.NULL_ADDRESS, - 3, - OLD_SERVICE_ROUTINE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "INTERRUPT_CATCH WITH INVALID HANDLER" - ); - TEXT_IO.PUT_LINE( "TA1 - interrupt_catch - INVALID_ADDRESS" ); - - RTEMS.SIGNAL_SEND( 100, RTEMS.SIGNAL_1, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SIGNAL_SEND WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - signal_send - INVALID_ID" ); - - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_16, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "SIGNAL_SEND WITH NO HANDLER" - ); - TEXT_IO.PUT_LINE( "TA1 - signal_send - NOT_DEFINED" ); - - RTEMS.PORT_CREATE( - 0, - SPTEST.INTERNAL_PORT_AREA'ADDRESS, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PORT_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - port_create - INVALID_NAME" ); - - RTEMS.PORT_CREATE( - SPTEST.PORT_NAME( 1 ), - SPTEST.INTERNAL_PORT_AREA( 1 )'ADDRESS, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PORT_CREATE WITH ILLEGAL ADDRESS" - ); - TEXT_IO.PUT_LINE( "TA1 - port_create - INVALID_ADDRESS" ); - - RTEMS.PORT_CREATE( - SPTEST.PORT_NAME( 1 ), - SPTEST.INTERNAL_PORT_AREA'ADDRESS, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "PORT_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - port_create - TOO_MANY" ); - - RTEMS.PORT_DELETE( 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PORT_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - port_delete - INVALID_ID" ); - - RTEMS.PORT_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PORT_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - port_ident - INVALID_NAME" ); - - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - 100, - SPTEST.INTERNAL_PORT_AREA'ADDRESS, - CONVERTED, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PORT_INTERNAL_TO_EXTERNAL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - port_internal_to_external - INVALID_ID" - ); - - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - 100, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - CONVERTED, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PORT_EXTERNAL_TO_INTERNAL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - port_external_to_internal - INVALID_ID" - ); - - end SCREEN_9; - ---PAGE --- --- SCREEN_10 --- - - procedure SCREEN_10 - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CREATE( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "RATE_MONOTONIC_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_create - INVALID_NAME" - ); - - RTEMS.RATE_MONOTONIC_CREATE( - SPTEST.PERIOD_NAME( 1 ), - SPTEST.PERIOD_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_create - SUCCESSFUL" - ); - - RTEMS.RATE_MONOTONIC_CREATE( - SPTEST.PERIOD_NAME( 1 ), - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "RATE_MONOTONIC_CREATE FOR TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_create - TOO_MANY" ); - - RTEMS.RATE_MONOTONIC_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "RATE_MONOTONIC_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_ident - INVALID_NAME" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( 100, 5, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_PERIOD WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period - unknown INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( 16#10100#, 5, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_PERIOD WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period - local INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - RTEMS.PERIOD_STATUS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "RATE_MONOTONIC_PERIOD STATUS NOT DEFINED" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period( STATUS ) - NOT_DEFINED" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 100, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD 100 TICKS" - ); - TEXT_IO.PUT( "TA1 - rate_monotonic_period - 100 ticks - " ); - TEXT_IO.PUT_LINE( "SUCCESSFUL" ); - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - RTEMS.PERIOD_STATUS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD STATUS" - ); - TEXT_IO.PUT( "TA1 - rate_monotonic_period( STATUS ) - " ); - TEXT_IO.PUT_LINE( "SUCCESSFUL" ); - - loop - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - RTEMS.PERIOD_STATUS, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TIMEOUT ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD STATUS WAITING FOR TIMEOUT" - ); - - end loop; - TEXT_IO.PUT( "TA1 - rate_monotonic_period( STATUS ) - " ); - TEXT_IO.PUT_LINE( "TIMEOUT" ); - - RTEMS.RATE_MONOTONIC_CANCEL( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_cancel - unknown INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_CANCEL( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_cancel - local INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_CANCEL( SPTEST.PERIOD_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CANCEL" ); - TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_cancel - SUCCESSFUL" ); - - RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD RESTART" - ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "RATE_MONOTONIC_PERIOD TIMED OUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period - 5 ticks - TIMEOUT" - ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yielding to TA4" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - RTEMS.RATE_MONOTONIC_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_delete - unknown INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_delete - local INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_DELETE( SPTEST.PERIOD_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_DELETE" ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_delete - SUCCESSFUL" - ); - - end SCREEN_10; - ---PAGE --- --- SCREEN_11 --- - - procedure SCREEN_11 - is - BUFFER_ADDRESS_1 : RTEMS.ADDRESS; - BUFFER_ADDRESS_2 : RTEMS.ADDRESS; - BUFFER_ADDRESS_3 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.PARTITION_CREATE( - 0, - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 40, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PARTITION_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_NAME" ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 0, - 80, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH ILLEGAL LENGTH" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_create - length - INVALID_SIZE" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 0, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH ILLEGAL BUFFER_SIZE" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_create - buffer size - INVALID_SIZE" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 256, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH BUFFER_SIZE > LENGTH" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_create - length < buffer size - INVALID_SIZE" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 64, - RTEMS.GLOBAL, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "PARTITION_CREATE OF GLOBAL" - ); - TEXT_IO.PUT_LINE("TA1 - partition_create - MP_NOT_CONFIGURED"); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_BAD_AREA'ADDRESS, - 128, - 64, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PARTITION_CREATE WITH BAD ADDRESS" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_ADDRESS" ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 34, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH UNALIGNED BUFFER_SIZE" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_SIZE" ); - - RTEMS.PARTITION_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_delete - unknown INVALID_ID" - ); - - RTEMS.PARTITION_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_delete - local INVALID_ID" - ); - - RTEMS.PARTITION_GET_BUFFER( 100, BUFFER_ADDRESS_1, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_GET_BUFFER WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - INVALID_ID" ); - - RTEMS.PARTITION_IDENT( - 0, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PARTITION_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_ident - INVALID_NAME" ); - - RTEMS.PARTITION_RETURN_BUFFER( 100, BUFFER_ADDRESS_1, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_RETURN WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_return_buffer - INVALID_ID" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 64, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - SUCCESSFUL" ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 64, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "PARTITION_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - TOO_MANY" ); - - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" ); - - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" ); - - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "PARTITION_GET_BUFFER UNSATISFIED" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - UNSATISFIED" ); - - RTEMS.PARTITION_DELETE( - SPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.RESOURCE_IN_USE, - "PARTITION_DELETE WITH BUFFERS IN USE" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_delete - RESOURCE_IN_USE" ); - - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( 0 )'ADDRESS, -- NOTE: REGION - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PARTITION_RETURN WITH BUFFER ADDRESS OUT OF PARTITION" - ); - TEXT_IO.PUT( "TA1 - partition_return_buffer - " ); - TEXT_IO.PUT_LINE( "INVALID_ADDRESS - out of range" ); - - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - SPTEST.PARTITION_GOOD_AREA( 7 )'ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PARTITION_RETURN WITH BUFFER ADDRESS NOT ON BOUNDARY" - ); - TEXT_IO.PUT( "TA1 - partition_return_buffer - " ); - TEXT_IO.PUT_LINE( "INVALID_ADDRESS - not on boundary" ); - - - end SCREEN_11; - ---PAGE --- --- SCREEN_12 --- - - procedure SCREEN_12 - is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; - OFFSET : RTEMS.UNSIGNED32; - GOOD_FRONT_FLAG : RTEMS.UNSIGNED32; - GOOD_BACK_FLAG : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.REGION_CREATE( - 0, - SPTEST.REGION_GOOD_AREA'ADDRESS, - 16#40#, - 32, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "REGION_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_NAME" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_BAD_AREA'ADDRESS, - 16#40#, - 32, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "REGION_CREATE WITH ILLEGAL ADDRESS" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_ADDRESS" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_GOOD_AREA'ADDRESS, - 16#40#, - 34, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "REGION_CREATE WITH ILLEGAL SIZE" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_SIZE" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET )'ADDRESS, - SPTEST.REGION_LENGTH, - 16#40#, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE" ); - TEXT_IO.PUT_LINE( "TA1 - region_create - SUCCESSFUL" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_GOOD_AREA'ADDRESS, - SPTEST.REGION_LENGTH, - 16#40#, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "REGION_CREATE FOR TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - TOO_MANY" ); - - RTEMS.REGION_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_delete - unknown INVALID_ID" ); - - RTEMS.REGION_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_delete - local INVALID_ID" ); - - RTEMS.REGION_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "REGION_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - region_ident - INVALID_NAME" ); - - RTEMS.REGION_GET_SEGMENT( - 100, - 16#40#, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_GET_SEGMENT WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - INVALID_ID" ); - - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - (SPTEST.REGION_GOOD_AREA'SIZE / 8) * 2, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "REGION_GET_SEGMENT WITH ILLEGAL SIZE" - ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - INVALID_SIZE" ); - - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 384, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - SUCCESSFUL" ); - - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_LENGTH / 2, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "REGION_GET_SEGMENT UNSATISFIED" - ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - UNSATISFIED" ); - - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - timeout in 3 seconds" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 128, - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "REGION_GET_SEGMENT TIMEOUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_get_segment - woke up with TIMEOUT" - ); - - RTEMS.REGION_DELETE( SPTEST.REGION_ID( 1 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.RESOURCE_IN_USE, - "REGION_DELETE WITH BUFFERS IN USE" - ); - TEXT_IO.PUT_LINE( "TA1 - region_delete - RESOURCE_IN_USE" ); - - RTEMS.REGION_RETURN_SEGMENT( - 100, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_RETURN_SEGMENT WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_return_segment - INVALID_ID" ); - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA'ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "REGION_RETURN_SEGMENT WITH ILLEGAL SEGMENT" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_return_segment - INVALID_ADDRESS" - ); - - -- internal heap errors, subject to change if heap code changes - - TEXT_IO.PUT_LINE( "TA1 - debug_disable - DEBUG_REGION" ); - RTEMS.DEBUG_DISABLE( RTEMS.DEBUG_REGION ); - - OFFSET := 0; - GOOD_BACK_FLAG := 0; - GOOD_FRONT_FLAG := 0; - - TEXT_IO.PUT_LINE( - "TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED" - ); - - --- OFFSET := RTEMS.SUBTRACT( --- SEGMENT_ADDRESS_1, --- SPTEST.REGION_GOOD_AREA'ADDRESS --- ) / 4; --- --- --- -- bad FRONT_FLAG error --- --- GOOD_FRONT_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 1 ); --- SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG + 2; --- --- RTEMS.REGION_RETURN_SEGMENT( --- SPTEST.REGION_ID( 1 ), --- SEGMENT_ADDRESS_1, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_ADDRESS, --- "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" --- ); --- TEXT_IO.PUT_LINE( --- "TA1 - region_return_segment - INVALID_ADDRESS" --- ); --- --- SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG; --- --- -- bad BACK_FLAG error --- --- GOOD_BACK_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 2 ); --- SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := 1024; --- --- RTEMS.REGION_RETURN_SEGMENT( --- SPTEST.REGION_ID( 1 ), --- SEGMENT_ADDRESS_1, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_ADDRESS, --- "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" --- ); --- TEXT_IO.PUT_LINE( --- "TA1 - region_return_segment - INVALID_ADDRESS" --- ); --- --- SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := GOOD_BACK_FLAG; - - TEXT_IO.PUT_LINE( "TA1 - debug_enable - DEBUG_REGION" ); - RTEMS.DEBUG_ENABLE( RTEMS.DEBUG_REGION ); - - RTEMS.REGION_EXTEND( - 100, - SPTEST.REGION_GOOD_AREA'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_EXTEND WITH INVALID_ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - INVALID_ID" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET + 16 )'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "REGION_EXTEND WITH INVALID_ADDRESS" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - within heap - INVALID_ADDRESS" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_BAD_AREA'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_IMPLEMENTED, - "REGION_EXTEND WITH NOT_IMPLEMENTED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - non-contiguous lower - NOT_IMPLEMENTED" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( - SPTEST.REGION_START_OFFSET - SPTEST.REGION_LENGTH )'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_IMPLEMENTED, - "REGION_EXTEND WITH NOT_IMPLEMENTED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - contiguous lower - NOT_IMPLEMENTED" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( - SPTEST.REGION_START_OFFSET + SPTEST.REGION_LENGTH + 16 )'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_IMPLEMENTED, - "REGION_EXTEND WITH NOT_IMPLEMENTED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - non-contiguous higher - NOT_IMPLEMENTED" - ); - - end SCREEN_12; - ---PAGE --- --- SCREEN_13 --- - - procedure SCREEN_13 - is - RESULT : RTEMS.UNSIGNED32; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.IO_CLOSE( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_CLOSE WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE("TA1 - io_close - INVALID_NUMBER"); - - RTEMS.IO_CONTROL( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_CONTROL WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_control - INVALID_NUMBER" - ); - - RTEMS.IO_INITIALIZE( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_INITIALIZE WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - INVALID_NUMBER" - ); - - RTEMS.IO_OPEN( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_OPEN WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( "TA1 - io_open - INVALID_NUMBER" ); - - RTEMS.IO_READ( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_READ WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( "TA1 - io_read - INVALID_NUMBER" ); - - RTEMS.IO_WRITE( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_WRITE WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( "TA1 - io_write - INVALID_NUMBER" ); - - TIME := ( 2000, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 1999, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 2100, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 2099, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 1991, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - end SCREEN_13; - ---PAGE --- --- SCREEN_14 --- - - procedure SCREEN_14 - is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TIMER_CREATE( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TIMER_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_create - INVALID_NAME" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - TEXT_IO.PUT_LINE( "TA1 - timer_create - 1 - SUCCESSFUL" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "TIMER_CREATE FOR TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_create - 2 - TOO_MANY" ); - - RTEMS.TIMER_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_delete - local INVALID_ID" ); - - RTEMS.TIMER_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_delete - global INVALID_ID" ); - - RTEMS.TIMER_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TIMER_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_ident - INVALID_NAME" ); - - RTEMS.TIMER_CANCEL( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_CANCEL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_cancel - INVALID_ID" ); - - RTEMS.TIMER_RESET( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_RESET WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_reset - INVALID_ID" ); - - RTEMS.TIMER_RESET( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "TIMER_RESET BEFORE INITIATED" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_reset - NOT_DEFINED" ); - - RTEMS.TIMER_FIRE_AFTER( - 16#10100#, - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_FIRE_AFTER WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_after - INVALID_ID" ); - - TIME := ( 1994, 12, 31, 1, 0, 0, 0 ); - RTEMS.TIMER_FIRE_WHEN( - 16#10100#, - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_FIRE_WHEN WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_when - INVALID_ID" ); - - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 0, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "TIMER_FIRE_AFTER WITH 0 TICKS" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_after - INVALID_NUMBER" ); - - TIME := ( 1987, 2, 5, 8, 30, 45, 0 ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TIMER_FIRE_WHEN WITH ILLEGAL TIME" - ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - timer_fire_when - ", - TIME, - " - INVALID_CLOCK" - ); - TEXT_IO.NEW_LINE; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TIME := ( 1990, 2, 5, 8, 30, 45, 0 ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TIMER_FIRE_WHEN BEFORE CURRENT TIME" - ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - timer_fire_when - ", - TIME, - " - before INVALID_CLOCK" - ); - TEXT_IO.NEW_LINE; - - end SCREEN_14; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - SPTEST.SCREEN_1; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 2 ); - - SPTEST.SCREEN_2; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 3 ); - - SPTEST.SCREEN_3; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 4 ); - - SPTEST.SCREEN_4; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 5 ); - - SPTEST.SCREEN_5; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 6 ); - - SPTEST.SCREEN_6; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 7 ); - - SPTEST.SCREEN_7; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 8 ); - - SPTEST.SCREEN_8; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 9 ); - - SPTEST.SCREEN_9; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 10 ); - - SPTEST.SCREEN_10; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 11 ); - - SPTEST.SCREEN_11; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 12 ); - - SPTEST.SCREEN_12; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 13 ); - - SPTEST.SCREEN_13; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 14 ); - - SPTEST.SCREEN_14; - - TEXT_IO.PUT_LINE( "*** END OF TEST 9 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - semaphore_obtain - sem 1 - WAIT FOREVER" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "SEMAPHORE_OBTAIN WAITING TO BE DELETED" - ); - TEXT_IO.PUT_LINE( - "TA2 - semaphore_obtain - woke up with OBJECT_WAS_DELETED" - ); - - TEXT_IO.PUT_LINE( - "TA2 - task_delete - delete self - SUCCESSFUL" - ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TEXT_IO.PUT_LINE( - "TA3 - message_queue_receive - Q 1 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "MESSAGE_QUEUE_RECEIVE WAITING TO BE DELETED" - ); - TEXT_IO.PUT( "TA3 - message_queue_receive - woke up " ); - TEXT_IO.PUT_LINE( "with OBJECT_WAS_DELETED" ); - - TEXT_IO.PUT_LINE( - "TA3 - task_delete - delete self - SUCCESSFUL" - ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CANCEL( - SPTEST.PERIOD_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_OWNER_OF_RESOURCE, - "RATE_MONOTONIC_CANCEL NOT THE OWNER" - ); - TEXT_IO.PUT_LINE( - "TA4 - rate_monotonic_cancel - NOT_OWNER_OF_RESOURCE" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - 5, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_OWNER_OF_RESOURCE, - "RATE_MONOTONIC_PERIOD NOT THE OWNER" - ); - TEXT_IO.PUT_LINE( - "TA4 - rate_monotonic_period - NOT_OWNER_OF_RESOURCE" - ); - - TEXT_IO.PUT_LINE( - "TA4 - task_delete - delete self - SUCCESSFUL" - ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" ); - - - end TASK_4; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp09/sptest.ads b/c/src/ada-tests/sptests/sp09/sptest.ads deleted file mode 100644 index 526b30be67..0000000000 --- a/c/src/ada-tests/sptests/sp09/sptest.ads +++ /dev/null @@ -1,402 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 9 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with System.Storage_Elements; - -package SPTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphores created --- by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message queues --- created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partitions created --- by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS regions created --- by this test. --- - - REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS ports created --- by this test. --- - - PORT_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PORT_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS periods created --- by this test. --- - - PERIOD_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PERIOD_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- This variable is used as the output ID on directives which return --- an ID but are invoked in a manner which returns a non-SUCCESSFUL --- status code. --- - - JUNK_ID : RTEMS.ID; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- memory space for a partition. --- - - PARTITION_GOOD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for PARTITION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- The following area defines a memory area to be used as the --- memory space for a partition which starts at an invalid address. --- - - PARTITION_BAD_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00000006#); - - PARTITION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for PARTITION_BAD_AREA use at PARTITION_BAD_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- memory space for a region and constants used to define the regions --- starting area and length. --- - - REGION_GOOD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) - of RTEMS.UNSIGNED32; - for REGION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - REGION_START_OFFSET : constant RTEMS.UNSIGNED32 := 1024; - REGION_LENGTH : constant RTEMS.UNSIGNED32 := 512; - --- --- The following area defines a memory area to be used as the --- memory space for a region which starts at an invalid address. --- - - REGION_BAD_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00000006#); - - REGION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for REGION_BAD_AREA use at REGION_BAD_AREA_ADDRESS; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_SUBPROGRAM --- --- DESCRIPTION: --- --- This subprogram is scheduled as a timer service routine. --- It performs no actions if it fires. --- - - procedure DELAYED_SUBPROGRAM ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- SERVICE_ROUTINE --- --- DESCRIPTION: --- --- This subprogram serves as a dummy ISR which is installed at an --- illegal vector number. --- - - procedure SERVICE_ROUTINE ( - IGNORED : in RTEMS.VECTOR_NUMBER - ); - --- --- SCREEN_1 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_1; - --- --- SCREEN_2 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_2; - --- --- SCREEN_3 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_3; - --- --- SCREEN_4 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_4; - --- --- SCREEN_5 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_5; - --- --- SCREEN_6 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_6; - --- --- SCREEN_7 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_7; - --- --- SCREEN_8 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_8; - --- --- SCREEN_9 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_9; - --- --- SCREEN_10 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_10; - --- --- SCREEN_11 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_11; - --- --- SCREEN_12 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_12; - --- --- SCREEN_13 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_13; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp11/config.h b/c/src/ada-tests/sptests/sp11/config.h deleted file mode 100644 index 89529d5b9f..0000000000 --- a/c/src/ada-tests/sptests/sp11/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 6 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp11/sp11.adb b/c/src/ada-tests/sptests/sp11/sp11.adb deleted file mode 100644 index 1720830ded..0000000000 --- a/c/src/ada-tests/sptests/sp11/sp11.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP11 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP11 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP11; - diff --git a/c/src/ada-tests/sptests/sp11/sp11.scn b/c/src/ada-tests/sptests/sp11/sp11.scn deleted file mode 100644 index a23db839bc..0000000000 --- a/c/src/ada-tests/sptests/sp11/sp11.scn +++ /dev/null @@ -1,74 +0,0 @@ -*** TEST 11 *** -TA1 - event_send - send EVENT_16 to TA2 -TA1 - event_receive - waiting forever on EVENT_14 and EVENT_15 -TA2 - event_receive - waiting forever on EVENT_16 -TA2 - EVENT_16 received - eventout => 16#10000# -TA2 - event_send - send EVENT_14 and EVENT_15 to TA1 -TA2 - event_receive - waiting forever on EVENT_17 or EVENT_18 - EVENT_ANY -TA1 - EVENT_14 and EVENT_15 received - eventout => 16#C000# -TA1 - event_send - send EVENT_18 to TA2 -TA1 - event_receive - waiting with 10 second timeout on EVENT_14 -TA2 - EVENT_17 or EVENT_18 received - eventout => 16#40000# -TA2 - event_send - send EVENT_14 to TA1 -TA2 - clock_set - 8:15: 0 2/12/1988 -TA2 - event_send - sending EVENT_10 to self after 5 seconds -TA2 - event_receive - waiting forever on EVENT_10 -TA1 - EVENT_14 received - eventout => 16#4000# -TA1 - event_send - send EVENT_19 to TA2 -TA1 - clock_get - 8:15: 0 2/12/1988 -<pause> -TA1 - event_send - send EVENT_18 to self after 5 seconds -TA1 - event_receive - waiting forever on EVENT_18 -TA2 - EVENT_10 received - eventout => 16#400# -TA2 - clock_get - 8:15: 5 02/12/1988 -TA2 - event_receive - PENDING_EVENTS -TA2 - eventout => 16#80000# -TA2 - event_receive - EVENT_19 - NO_WAIT -TA2 - EVENT_19 received - eventout => 16#80000# -TA2 - task_delete - deletes self -TA1 - EVENT_18 received - eventout => 16#40000# -TA1 - clock_get - 8:15: 5 2/12/1988 -TA1 - event_send - send EVENT_3 to self -TA1 - event_receive - EVENT_3 or EVENT_22 - NO_WAIT and EVENT_ANY -TA1 - EVENT_3 received - eventout => 16#8# -TA1 - event_send - send EVENT_4 to self -TA1 - event_receive - waiting forever on EVENT_4 or EVENT_5 - EVENT_ANY -TA1 - EVENT_4 received - eventout => 16#10# -<pause> -TA1 - event_send - send EVENT_18 to self after 5 seconds -TA1 - timer_cancel - cancelling timer for event EVENT_18 -TA1 - event_send - send EVENT_8 to self after 60 seconds -TA1 - event_send - send EVENT_9 to self after 60 seconds -TA1 - event_send - send EVENT_10 to self after 60 seconds -TA1 - timer_cancel - cancelling timer for event EVENT_8 -TA1 - clock_set - 8:15: 0 2/12/1988 -TA1 - event_send - send EVENT_1 every second -TA1 - EVENT_1 received - eventout => 16#2# - at 8:15: 1 2/12/1988 -TA1 - EVENT_1 received - eventout => 16#2# - at 8:15: 2 2/12/1988 -TA1 - EVENT_1 received - eventout => 16#2# - at 8:15: 3 2/12/1988 -TA1 - timer_cancel - cancelling timer for event EVENT_1 -<pause> -TA1 - event_send - send EVENT_11 to self in 1 day -TA1 - event_send - send EVENT_11 to self in 1 day -TA1 - event_send - send EVENT_11 to self in 2 days -TA1 - timer_cancel - cancelling EVENT_11 to self in 1 day -TA1 - timer_cancel - cancelling EVENT_11 to self in 2 days -TA1 - event_send - resending EVENT_11 to self in 2 days -TA1 - clock_set - 8:15: 3 2/15/1988 -TA1 - event_receive - waiting forever on EVENT_11 -TA1 - EVENT_11 received - eventout => 16#800# -<pause> -TA1 - event_send/event_receive combination -TA1 - clock_set - 8:15: 0 2/12/1988 -TA1 - event_receive all outstanding events -TA1 - event_send - send EVENT_10 to self in 1 day -TA1 - event_send - send EVENT_11 to self in 2 days -TA1 - clock_set - 7:15: 0 2/12/1988 -TA1 - set time backwards -TA1 - no events received -TA1 - clock_set - 7:15: 0 2/14/1988 -TA1 - set time forwards (leave a timer) -TA1 - EVENT_10 received -TA1 - event_send - send EVENT_11 to self in 100 ticks -TA1 - event_send - send EVENT_11 to self in 200 ticks -*** END OF TEST 11 *** diff --git a/c/src/ada-tests/sptests/sp11/sptest.adb b/c/src/ada-tests/sptests/sp11/sptest.adb deleted file mode 100644 index 8ec174abe2..0000000000 --- a/c/src/ada-tests/sptests/sp11/sptest.adb +++ /dev/null @@ -1,900 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 11 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 11 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - SPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - SPTEST.TIMER_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'M', '3', ' ' ); - SPTEST.TIMER_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'M', '4', ' ' ); - SPTEST.TIMER_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'M', '5', ' ' ); - SPTEST.TIMER_NAME( 6 ) := RTEMS.BUILD_NAME( 'T', 'M', '6', ' ' ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM1" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 2 ), - SPTEST.TIMER_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM2" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 3 ), - SPTEST.TIMER_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM3" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 4 ), - SPTEST.TIMER_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM4" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 5 ), - SPTEST.TIMER_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM5" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 6 ), - SPTEST.TIMER_ID( 6 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM6" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENTOUT : RTEMS.EVENT_SET; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - INDEX : RTEMS.UNSIGNED32; - begin - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_16 to TA2" ); - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_16, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 16" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting forever on EVENT_14 and EVENT_15" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_14 + RTEMS.EVENT_15, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 14 and 15" ); - TEXT_IO.PUT( "TA1 - EVENT_14 and EVENT_15 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_18 to TA2" ); - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_18, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 18" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting with 10 second timeout on EVENT_14" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_14, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 14" ); - TEXT_IO.PUT( "TA1 - EVENT_14 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_19 to TA2" ); - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_19, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 19" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_18 to self after 5 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_18_TO_SELF_5_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 5 seconds" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting forever on EVENT_18" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_18, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 18" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - - TEXT_IO.PUT( "TA1 - EVENT_18 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_3 to self" ); - RTEMS.EVENT_SEND( RTEMS.SELF, RTEMS.EVENT_3, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 3" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - EVENT_3 or EVENT_22 - NO_WAIT and EVENT_ANY" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_3 + RTEMS.EVENT_22, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 3 and 22" ); - TEXT_IO.PUT( "TA1 - EVENT_3 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_4 to self" ); - RTEMS.EVENT_SEND( RTEMS.SELF, RTEMS.EVENT_4, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 4" ); - - TEXT_IO.PUT_LINE( -"TA1 - event_receive - waiting forever on EVENT_4 or EVENT_5 - EVENT_ANY" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_4 + RTEMS.EVENT_5, - RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 4 and 5" ); - TEXT_IO.PUT( "TA1 - EVENT_4 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_18 to self after 5 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_18_TO_SELF_5_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 5 seconds" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling timer for event EVENT_18" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_8 to self after 60 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 60 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_8_TO_SELF_60_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 60 secs" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_9 to self after 60 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 2 ), - 60 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_9_TO_SELF_60_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 60 secs" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_10 to self after 60 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 3 ), - 60 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_10_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 60 secs" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling timer for event EVENT_8" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TIME := ( 1988, 2, 12, 8, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_1 every second" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_1_TO_SELF_EVERY_SECOND'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 1 SECOND" ); - - INDEX := 0; - - loop - - exit when INDEX = 3; - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_1, - RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 1" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - - TEXT_IO.PUT( "TA1 - EVENT_1 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEST_SUPPORT.PRINT_TIME( " - at ", TIME, "" ); - TEXT_IO.NEW_LINE; - - if INDEX < 2 then - RTEMS.TIMER_RESET( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 TIMER RESET" ); - end if; - - INDEX := INDEX + 1; - end loop; - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling timer for event EVENT_1" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEST_SUPPORT.PAUSE; - - TIME.DAY := 13; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 1 day" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 1 day" ); - - TIME.HOUR := 7; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 1 day" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 2 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 1 day" ); - TIME.HOUR := 8; - - TIME.DAY := 14; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 3 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 2 days" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling EVENT_11 to self in 1 day" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - resending EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 3 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 2 days" ); - - TIME.DAY := 15; - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting forever on EVENT_11" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_11, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 11" ); - TEXT_IO.PUT( "TA1 - EVENT_11 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PAUSE; - --- The following code tests the case of deleting a timer ??? - - TEXT_IO.PUT_LINE( "TA1 - event_send/event_receive combination" ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 10, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 10 ticks" ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_11, - RTEMS.DEFAULT_OPTIONS, - 11, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - - TIME := ( 1988, 2, 12, 8, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - TIME.DAY := 13; - TEXT_IO.PUT_LINE( - "TA1 - event_receive all outstanding events" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE all events" - ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_10 to self in 1 day" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.TA1_SEND_10_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 1 day" ); - - TIME.DAY := 14; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 2 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 2 days" ); - - TIME := ( 1988, 2, 12, 7, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "TA1 - set time backwards" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - if EVENTOUT >= RTEMS.EVENT_0 then - TEXT_IO.PUT( "ERROR - " ); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.PUT_LINE( " events received" ); - else - TEXT_IO.PUT_LINE( "TA1 - no events received" ); - end if; - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE all events" - ); - - TIME := ( 1988, 2, 14, 7, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "TA1 - set time forwards (leave a timer)" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE all events" ); - if EVENTOUT = RTEMS.EVENT_10 then - TEXT_IO.PUT_LINE( "TA1 - EVENT_10 received" ); - else - TEXT_IO.PUT( "ERROR - " ); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.PUT_LINE( " events received" ); - end if; - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 100 ticks" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 100, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 100 ticks" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 200 ticks" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 2 ), - 100, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 200 ticks" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 11 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENTOUT : RTEMS.EVENT_SET; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - waiting forever on EVENT_16" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 16" ); - TEXT_IO.PUT( "TA2 - EVENT_16 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - event_send - send EVENT_14 and EVENT_15 to TA1" - ); - RTEMS.EVENT_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.EVENT_14 + RTEMS.EVENT_15, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 14 and 15" ); - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - waiting forever on EVENT_17 or EVENT_18 - EVENT_ANY" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_17 + RTEMS.EVENT_18, - RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 17 and 18" ); - TEXT_IO.PUT( "TA2 - EVENT_17 or EVENT_18 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - event_send - send EVENT_14 to TA1" - ); - RTEMS.EVENT_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.EVENT_14, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 14" ); - - TIME := ( 1988, 2, 12, 8, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA2 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA2 CLOCK_SET" ); - - TIME.SECOND := TIME.SECOND + 5; - TEXT_IO.PUT_LINE( - "TA2 - event_send - sending EVENT_10 to self after 5 seconds" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 5 ), - TIME, - SPTEST.TA2_SEND_10_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 5 SECONDS" ); - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - waiting forever on EVENT_10" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_10, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 10" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - - TEXT_IO.PUT( "TA2 - EVENT_10 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA2 - event_receive - PENDING_EVENTS" ); - RTEMS.EVENT_RECEIVE( - RTEMS.PENDING_EVENTS, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 10" ); - TEXT_IO.PUT( "TA2 - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - EVENT_19 - NO_WAIT" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_19, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 10" ); - TEXT_IO.PUT( "TA2 - EVENT_19 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA2 - task_delete - deletes self" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE of TA2" ); - - end TASK_2; - ---PAGE --- --- TA1_SEND_18_TO_SELF_5_SECONDS --- - - procedure TA1_SEND_18_TO_SELF_5_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_18, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 18" ); - - end TA1_SEND_18_TO_SELF_5_SECONDS; - ---PAGE --- --- TA1_SEND_8_TO_SELF_60_SECONDS --- - - procedure TA1_SEND_8_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_8, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 8" ); - - end TA1_SEND_8_TO_SELF_60_SECONDS; - ---PAGE --- --- TA1_SEND_9_TO_SELF_60_SECONDS --- - - procedure TA1_SEND_9_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_9, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 9" ); - - end TA1_SEND_9_TO_SELF_60_SECONDS; - ---PAGE --- --- TA1_SEND_10_TO_SELF --- - - procedure TA1_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_10, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 10" ); - - end TA1_SEND_10_TO_SELF; - ---PAGE --- --- TA1_SEND_1_TO_SELF_EVERY_SECOND --- - - procedure TA1_SEND_1_TO_SELF_EVERY_SECOND ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_1, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 1" ); - - end TA1_SEND_1_TO_SELF_EVERY_SECOND; - ---PAGE --- --- TA1_SEND_11_TO_SELF --- - - procedure TA1_SEND_11_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_11, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 11" ); - - end TA1_SEND_11_TO_SELF; - ---PAGE --- --- TA2_SEND_10_TO_SELF --- - - procedure TA2_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_10, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 10" ); - - end TA2_SEND_10_TO_SELF; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp11/sptest.ads b/c/src/ada-tests/sptests/sp11/sptest.ads deleted file mode 100644 index c5527218f0..0000000000 --- a/c/src/ada-tests/sptests/sp11/sptest.ads +++ /dev/null @@ -1,178 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 11 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.NAME; - --- --- TA1_SEND_18_TO_SELF_5_SECONDS --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 5 seconds --- and to send EVENT_18 to TASK_1. --- - - procedure TA1_SEND_18_TO_SELF_5_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_8_TO_SELF_60_SECONDS --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 60 seconds --- and to send EVENT_8 to TASK_1. --- - - procedure TA1_SEND_8_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_9_TO_SELF_5_SECONDS --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 60 seconds --- and to send EVENT_9 to TASK_1. --- - - procedure TA1_SEND_9_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_10_TO_SELF --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 60 seconds --- and to send EVENT_10 to TASK_1. --- - - procedure TA1_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_1_TO_SELF_EVERY_SECOND --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer every second --- and to send EVENT_1 to TASK_1 until the timer is cancelled. --- - - procedure TA1_SEND_1_TO_SELF_EVERY_SECOND ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_11_TO_SELF --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer at a --- specific time of day and to send EVENT_11 to TASK_1. --- - - procedure TA1_SEND_11_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA2_SEND_10_TO_SELF --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 5 seconds --- and to send EVENT_10 to TASK_2. --- - - procedure TA2_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Event and Timer Managers. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Event and Timer Managers. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp12/config.h b/c/src/ada-tests/sptests/sp12/config.h deleted file mode 100644 index 7feac09c9b..0000000000 --- a/c/src/ada-tests/sptests/sp12/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_SEMAPHORES 10 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp12/sp12.adb b/c/src/ada-tests/sptests/sp12/sp12.adb deleted file mode 100644 index a2edd48d5d..0000000000 --- a/c/src/ada-tests/sptests/sp12/sp12.adb +++ /dev/null @@ -1,58 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP12 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Interfaces; use Interfaces; -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP12 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE * 2, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP12; - diff --git a/c/src/ada-tests/sptests/sp12/sp12.scn b/c/src/ada-tests/sptests/sp12/sp12.scn deleted file mode 100644 index eb0c71f372..0000000000 --- a/c/src/ada-tests/sptests/sp12/sp12.scn +++ /dev/null @@ -1,78 +0,0 @@ -*** TEST 12 *** -INIT - Forward priority queue test -PRI1 - semaphore_obtain - wait forever on SM2 -PRI2 - semaphore_obtain - wait forever on SM2 -PRI3 - semaphore_obtain - wait forever on SM2 -PRI4 - semaphore_obtain - wait forever on SM2 -PRI5 - semaphore_obtain - wait forever on SM2 -INIT - Backward priority queue test -PRI5 - semaphore_obtain - wait forever on SM2 -PRI4 - semaphore_obtain - wait forever on SM2 -PRI3 - semaphore_obtain - wait forever on SM2 -PRI2 - semaphore_obtain - wait forever on SM2 -PRI1 - semaphore_obtain - wait forever on SM2 -<pause> -INIT - Binary Semaphore and Priority Inheritance Test -INIT - semaphore_create - allocated binary semaphore -INIT - semaphore_release - allocated binary semaphore -INIT - semaphore_delete - allocated binary semaphore -PRI5 - semaphore_obtain - wait forever on SM2 -PRI5 - task_suspend - until all priority tasks blocked -PDRV - priority of PRI5 is 67 -PRI4 - semaphore_obtain - wait forever on SM2 -PDRV - change priority of PRI5 from 67 to 68 -PDRV - priority of PRI5 is 67 -PRI3 - semaphore_obtain - wait forever on SM2 -PDRV - priority of PRI5 is 67 -PRI2 - semaphore_obtain - wait forever on SM2 -PDRV - priority of PRI5 is 66 -PRI1 - semaphore_obtain - wait forever on SM2 -PDRV - priority of PRI5 is 65 -PDRV - task_resume - PRI5 -PRI5 - task_delete - all tasks waiting on SM2 -PRI5 - semaphore_obtain - nested -PRI5 - semaphore_release - nested -PRI5 - semaphore_release - restore priority -PRI5 - priority of PRI5 is 68 -<pause> -TA1 - semaphore_ident - smid => 16#10001# -TA1 - semaphore_obtain - wait forever on SM2 -TA1 - got SM2 -TA1 - semaphore_obtain - wait forever on SM3 -TA1 - got SM3 -TA1 - semaphore_obtain - get SM1 - NO_WAIT -TA1 - got SM1 -TA1 - task_wake_after - sleep 5 seconds -TA2 - semaphore_obtain - wait forever on SM1 -TA3 - semaphore_obtain - wait forever on SM2 -<pause> -TA1 - semaphore_release - release SM1 -TA1 - semaphore_obtain - waiting for SM1 with 10 second timeout -TA2 - got SM1 -TA2 - semaphore_release - release SM1 -TA2 - task_set_priority - make self highest priority task -TA2 - semaphore_obtain - wait forever on SM2 -TA1 - got SM1 -TA1 - semaphore_release - release SM2 -TA2 - got SM2 -TA2 - semaphore_release - release SM2 -TA2 - task_delete - delete self -TA1 - task_wake_after - sleep 5 seconds -TA3 - got SM2 -TA3 - semaphore_release - release SM2 -TA3 - semaphore_obtain - wait forever on SM3 -<pause> -TA1 - task_delete - delete TA3 -TA1 - task_wake_after - sleep 5 seconds -TA4 - semaphore_obtain - wait forever on SM1 -TA5 - semaphore_obtain - wait forever on SM1 -TA1 - task_delete - delete TA4 -TA1 - semaphore_release - release SM1 -TA1 - task_wake_after - sleep 5 seconds -TA5 - got SM1 -TA5 - semaphore_obtain - wait forever on SM1 -TA1 - semaphore_delete - delete SM1 -TA1 - semaphore_delete - delete SM3 -TA1 - task_delete - delete self -TA5 - SM1 deleted by TA1 -*** END OF TEST 12 *** diff --git a/c/src/ada-tests/sptests/sp12/sptest.adb b/c/src/ada-tests/sptests/sp12/sptest.adb deleted file mode 100644 index e302dacc76..0000000000 --- a/c/src/ada-tests/sptests/sp12/sptest.adb +++ /dev/null @@ -1,812 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 12 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 12 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - - SPTEST.PRIORITY_TASK_NAME( 1 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '1' ); - SPTEST.PRIORITY_TASK_NAME( 2 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '2' ); - SPTEST.PRIORITY_TASK_NAME( 3 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '3' ); - SPTEST.PRIORITY_TASK_NAME( 4 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '4' ); - SPTEST.PRIORITY_TASK_NAME( 5 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '5' ); - - SPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - SPTEST.SEMAPHORE_NAME( 2 ) := RTEMS.BUILD_NAME( 'S', 'M', '2', ' ' ); - SPTEST.SEMAPHORE_NAME( 3 ) := RTEMS.BUILD_NAME( 'S', 'M', '3', ' ' ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 0, - RTEMS.PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 3 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM3" ); - - TEXT_IO.PUT_LINE( "INIT - Forward priority queue test" ); - SPTEST.PRIORITY_TEST_DRIVER( 0 ); - - TEXT_IO.PUT_LINE( "INIT - Backward priority queue test" ); - SPTEST.PRIORITY_TEST_DRIVER( 32 ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( - "INIT - Binary Semaphore and Priority Inheritance Test" - ); - - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM2" ); - - TEXT_IO.PUT_LINE( - "INIT - semaphore_create - allocated binary semaphore" - ); - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 0, - RTEMS.BINARY_SEMAPHORE + RTEMS.PRIORITY + RTEMS.INHERIT_PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - TEXT_IO.PUT_LINE( - "INIT - semaphore_release - allocated binary semaphore" - ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE OF SM2" ); - - TEXT_IO.PUT_LINE( - "INIT - semaphore_delete - allocated binary semaphore" - ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM2" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 1, - RTEMS.BINARY_SEMAPHORE + RTEMS.PRIORITY + RTEMS.INHERIT_PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - SPTEST.PRIORITY_TEST_DRIVER( 64 ); - -TEST_SUPPORT.PAUSE; - - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM2" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 0, - RTEMS.PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE OF SM2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PRIORITY_TEST_DRIVER --- - - procedure PRIORITY_TEST_DRIVER ( - PRIORITY_BASE : in RTEMS.UNSIGNED32 - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - for INDEX in 1 .. 5 - loop - - case INDEX is - when 1 | 2 | 3 => - SPTEST.TASK_PRIORITY( INDEX ) := - PRIORITY_BASE + RTEMS.TASK_PRIORITY( INDEX ); - when others => - SPTEST.TASK_PRIORITY( INDEX ) := PRIORITY_BASE + 3; - end case; - - RTEMS.TASK_CREATE( - SPTEST.PRIORITY_TASK_NAME( INDEX ), - SPTEST.TASK_PRIORITY( INDEX ), - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PRIORITY_TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - end loop; - - if PRIORITY_BASE = 0 then - - for INDEX in 1 .. 5 - loop - - RTEMS.TASK_START( - SPTEST.PRIORITY_TASK_ID( INDEX ), - SPTEST.PRIORITY_TASK'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - else - - for INDEX in reverse 1 .. 5 - loop - - RTEMS.TASK_START( - SPTEST.PRIORITY_TASK_ID( INDEX ), - SPTEST.PRIORITY_TASK'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER LOOP" ); - - if PRIORITY_BASE = 64 then - if INDEX = 4 then - RTEMS.TASK_SET_PRIORITY( - SPTEST.PRIORITY_TASK_ID( 5 ), - PRIORITY_BASE + 4, - PREVIOUS_PRIORITY, - STATUS - ); - TEXT_IO.PUT( "PDRV - change priority of PRI5 from " ); - UNSIGNED32_IO.PUT( PREVIOUS_PRIORITY ); - TEXT_IO.PUT( " to " ); - UNSIGNED32_IO.PUT( PRIORITY_BASE + 4 ); - TEXT_IO.NEW_LINE; - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PDRV TASK_SET_PRIORITY" - ); - end if; - - RTEMS.TASK_SET_PRIORITY( - SPTEST.PRIORITY_TASK_ID( 5 ), - RTEMS.CURRENT_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - TEXT_IO.PUT( "PDRV - priority of PRI5 is " ); - UNSIGNED32_IO.PUT( PREVIOUS_PRIORITY ); - TEXT_IO.NEW_LINE; - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PDRV TASK_SET_PRIORITY" - ); - end if; - - end loop; - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER AFTER LOOP" ); - - if PRIORITY_BASE = 0 then - for INDEX in 1 .. 5 - loop - - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SEMAPHORE_RELEASE LOOP" - ); - - end loop; - end if; - - if PRIORITY_BASE = 64 then - - TEXT_IO.PUT_LINE( "PDRV - task_resume - PRI5" ); - RTEMS.TASK_RESUME( SPTEST.PRIORITY_TASK_ID( 5 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "TASK_WAKE_AFTER SO PRI5 can run" - ); - - RTEMS.TASK_DELETE( SPTEST.PRIORITY_TASK_ID( 5 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF PRI5" ); - else - - for INDEX in 1 .. 5 - loop - - RTEMS.TASK_DELETE( - SPTEST.PRIORITY_TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE LOOP" ); - - end loop; - end if; - - - end PRIORITY_TEST_DRIVER; - ---PAGE --- --- PRIORITY_TASK --- - - procedure PRIORITY_TASK ( - ITS_INDEX : in RTEMS.TASK_ARGUMENT - ) is - TIMEOUT : RTEMS.INTERVAL; - ITS_PRIORITY : RTEMS.TASK_PRIORITY; - CURRENT_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - ITS_PRIORITY := SPTEST.TASK_PRIORITY( INTEGER( ITS_INDEX ) ); - - if ITS_PRIORITY < 3 then - TIMEOUT := 5 * TEST_SUPPORT.TICKS_PER_SECOND; - else - TIMEOUT := RTEMS.NO_TIMEOUT; - end if; - - TEST_SUPPORT.PUT_NAME( PRIORITY_TASK_NAME( INTEGER(ITS_INDEX) ), FALSE ); - TEXT_IO.PUT_LINE( " - semaphore_obtain - wait forever on SM2" ); - - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN OF SM2" ); - - if ITS_PRIORITY < 64 then - TEXT_IO.PUT( "PRI" ); - UNSIGNED32_IO.PUT( ITS_INDEX ); - TEXT_IO.PUT( " - WHY AM I HERE? (priority = " ); - UNSIGNED32_IO.PUT( ITS_PRIORITY ); - TEXT_IO.PUT_LINE( " )" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - if ITS_INDEX = 5 then - TEXT_IO.PUT_LINE( - "PRI5 - task_suspend - until all priority tasks blocked" - ); - end if; - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - TEXT_IO.PUT_LINE( "PRI5 - task_delete - all tasks waiting on SM2" ); - for INDEX in 1 .. 4 - loop - - RTEMS.TASK_DELETE( SPTEST.PRIORITY_TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE LOOP" ); - - end loop; - - TEXT_IO.PUT_LINE( "PRI5 - semaphore_obtain - nested" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN NESTED" ); - - TEXT_IO.PUT_LINE( "PRI5 - semaphore_release - nested" ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE NESTED" ); - - TEXT_IO.PUT_LINE( "PRI5 - semaphore_release - restore priority" ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - RTEMS.TASK_SET_PRIORITY( - SPTEST.PRIORITY_TASK_ID( 5 ), - RTEMS.CURRENT_PRIORITY, - CURRENT_PRIORITY, - STATUS - ); - TEXT_IO.PUT( "PRI5 - priority of PRI5 is " ); - UNSIGNED32_IO.PUT( CURRENT_PRIORITY ); - TEXT_IO.NEW_LINE; - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PRI5 TASK_SET_PRIORITY CURRENT" - ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - end PRIORITY_TASK; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SMID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_IDENT( - SPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - SMID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_IDENT OF SM1" ); - TEXT_IO.PUT( "TA1 - semaphore_ident - smid => " ); - UNSIGNED32_IO.PUT( SMID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - wait forever on SM2" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM2" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM2" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - wait forever on SM3" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 3 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - get SM1 - NO_WAIT" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - release SM1" ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM1" ); - - TEXT_IO.PUT_LINE( - "TA1 - semaphore_obtain - waiting for SM1 with 10 second timeout" - ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - release SM2" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA3" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 5 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 5 ), - SPTEST.TASK_5'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA5" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA4" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 4 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - release SM1" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_delete - delete SM1" ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_delete - delete SM3" ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA1" ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.PUT_LINE( "TA2 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - TEXT_IO.PUT_LINE( "TA2 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA2 - semaphore_release - release SM1" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM1" ); - - TEXT_IO.PUT_LINE( - "TA2 - task_set_priority - make self highest priority task" - ); - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - 3, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY ON TA2" ); - - TEXT_IO.PUT_LINE( "TA2 - semaphore_obtain - wait forever on SM2" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM2" ); - - TEXT_IO.PUT_LINE( "TA2 - got SM2" ); - - TEXT_IO.PUT_LINE( "TA2 - semaphore_release - release SM2" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM2" ); - - TEXT_IO.PUT_LINE( "TA2 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA3 - semaphore_obtain - wait forever on SM2" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM2" ); - TEXT_IO.PUT_LINE( "TA3 - got SM2" ); - - TEXT_IO.PUT_LINE( "TA3 - semaphore_release - release SM2" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM2" ); - - TEXT_IO.PUT_LINE( "TA3 - semaphore_obtain - wait forever on SM3" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 3 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM3" ); - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA4 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - end TASK_4; - ---PAGE --- --- TASK_5 --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA5 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - TEXT_IO.PUT_LINE( "TA5 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA5 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "SEMAPHORE_OBTAIN ON SM1" - ); - TEXT_IO.PUT_LINE( "TA5 - SM1 deleted by TA1" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 12 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_5; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp12/sptest.ads b/c/src/ada-tests/sptests/sp12/sptest.ads deleted file mode 100644 index 8d75953069..0000000000 --- a/c/src/ada-tests/sptests/sp12/sptest.ads +++ /dev/null @@ -1,142 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 12 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.NAME; - - PRIORITY_TASK_ID : array ( 1 .. 5 ) of RTEMS.ID; - PRIORITY_TASK_NAME : array ( 1 .. 5 ) of RTEMS.NAME; - TASK_PRIORITY : array ( 1 .. 5 ) of RTEMS.TASK_PRIORITY; - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PRIORITY_TEST_DRIVER --- --- DESCRIPTION: --- --- This subprogram creates and starts RTEMS tasks of different priority --- so that those tasks may exercise the priority blocking algorithm. --- - - procedure PRIORITY_TEST_DRIVER ( - PRIORITY_BASE : in RTEMS.UNSIGNED32 - ); - --- --- PRIORITY_TASK --- --- DESCRIPTION: --- --- Copies of this RTEMS are executed at different priorities and each --- instantiation blocks on a semaphore with priority blocking. This --- is done to exercise the priority blocking algorithms. --- - - procedure PRIORITY_TASK ( - ITS_INDEX : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_5 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp13/config.h b/c/src/ada-tests/sptests/sp13/config.h deleted file mode 100644 index 7a1e3fa026..0000000000 --- a/c/src/ada-tests/sptests/sp13/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 10 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp13/sp13.adb b/c/src/ada-tests/sptests/sp13/sp13.adb deleted file mode 100644 index 3d19379ccd..0000000000 --- a/c/src/ada-tests/sptests/sp13/sp13.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP13 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP13 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP13; - diff --git a/c/src/ada-tests/sptests/sp13/sp13.scn b/c/src/ada-tests/sptests/sp13/sp13.scn deleted file mode 100644 index ced19af55b..0000000000 --- a/c/src/ada-tests/sptests/sp13/sp13.scn +++ /dev/null @@ -1,66 +0,0 @@ -*** TEST 13 *** -TA1 - message_queue_ident - qid => 16#10001# -TA1 - message_queue_send - BUFFER 1 TO Q 1 -TA1 - message_queue_send - BUFFER 2 TO Q 1 -TA1 - task_wake_after - sleep 5 seconds -TA2 - message_queue_receive - receive from queue 1 - NO_WAIT -TA2 - buffer received: BUFFER 1 TO Q 1 -TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER -TA2 - buffer received: BUFFER 2 TO Q 1 -TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER -TA3 - message_queue_receive - receive from queue 2 - WAIT FOREVER -TA1 - message_queue_send - BUFFER 3 TO Q 1 -TA1 - task_wake_after - sleep 5 seconds -TA2 - buffer received: BUFFER 3 TO Q 1 -TA2 - task_set_priority - make self highest priority task -TA2 - message_queue_receive - receive from queue 2 - WAIT FOREVER -<pause> -TA1 - message_queue_send - BUFFER 1 TO Q 2 -TA2 - buffer received: BUFFER 1 TO Q 2 -TA2 - message_queue_send - BUFFER 2 TO Q 2 -TA2 - message_queue_receive - receive from queue 1 - 10 second timeout -TA1 - message_queue_receive - receive from queue 1 - 10 second timeout -TA3 - buffer received: BUFFER 2 TO Q 2 -TA3 - message_queue_broadcast - BUFFER 3 TO Q 1 -TA2 - buffer received: BUFFER 3 TO Q 1 -TA2 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA3 - number of tasks awakened = 2 -TA3 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 3 TO Q 1 -TA1 - task_delete - delete TA2 -TA1 - message_queue_send - BUFFER 1 TO Q 3 -TA1 - task_wake_after - sleep 5 seconds -TA3 - buffer received: BUFFER 1 TO Q 3 -TA3 - task_delete - delete self -<pause> -TA1 - message_queue_send - BUFFER 2 TO Q 3 -TA1 - message_queue_send - BUFFER 3 TO Q 3 -TA1 - message_queue_send - BUFFER 4 TO Q 3 -TA1 - message_queue_urgent - BUFFER 5 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 5 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 2 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 3 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 4 TO Q 3 -TA1 - message_queue_urgent - BUFFER 3 TO Q 2 -TA1 - message_queue_receive - receive from queue 2 - WAIT FOREVER -TA1 - buffer received: BUFFER 3 TO Q 2 -<pause> -TA1 - message_queue_delete - delete queue 1 -TA1 - message_queue_urgent - BUFFER 3 TO Q 2 -TA1 - message_queue_delete - delete queue 2 -TA1 - message_queue_flush - empty Q 3 -TA1 - 0 messages were flushed from Q 3 -TA1 - message_queue_send - BUFFER 1 TO Q 3 -TA1 - message_queue_send - BUFFER 2 TO Q 3 -TA1 - message_queue_send - BUFFER 3 TO Q 3 -TA1 - message_queue_flush - Q 3 -TA1 - 3 messages were flushed from Q 3 -TA1 - message_queue_send - until all message buffers consumed -TA1 - message_queue_send - all message buffers consumed -TA1 - message_queue_flush - Q 3 -TA1 - 100 messages were flushed from Q 3 -*** END OF TEST 13 *** diff --git a/c/src/ada-tests/sptests/sp13/sptest.adb b/c/src/ada-tests/sptests/sp13/sptest.adb deleted file mode 100644 index 9190f77e83..0000000000 --- a/c/src/ada-tests/sptests/sp13/sptest.adb +++ /dev/null @@ -1,723 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 13 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 13 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - SPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'Q', '1', ' ', ' ' ); - SPTEST.QUEUE_NAME( 2 ) := RTEMS.BUILD_NAME( 'Q', '2', ' ', ' ' ); - SPTEST.QUEUE_NAME( 3 ) := RTEMS.BUILD_NAME( 'Q', '3', ' ', ' ' ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 100, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "QUEUE_CREATE OF Q1" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 2 ), - 10, - 16, - RTEMS.PRIORITY, - SPTEST.QUEUE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "QUEUE_CREATE OF Q2" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 3 ), - 100, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "QUEUE_CREATE OF Q3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- FILL_BUFFER --- - --- --- Depends on tricks to make the copy work. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out SPTEST.BUFFER - ) is - begin - - BUFFER.FIELD1 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST ), - SOURCE( SOURCE'FIRST + 1 ), - SOURCE( SOURCE'FIRST + 2 ), - SOURCE( SOURCE'FIRST + 3 ) - ); - - BUFFER.FIELD2 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST + 4 ), - SOURCE( SOURCE'FIRST + 5 ), - SOURCE( SOURCE'FIRST + 6 ), - SOURCE( SOURCE'FIRST + 7 ) - ); - - BUFFER.FIELD3 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST + 8 ), - SOURCE( SOURCE'FIRST + 9 ), - SOURCE( SOURCE'FIRST + 10 ), - SOURCE( SOURCE'FIRST + 11 ) - ); - - BUFFER.FIELD4 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST + 12 ), - SOURCE( SOURCE'FIRST + 13 ), - SOURCE( SOURCE'FIRST + 14 ), - SOURCE( SOURCE'FIRST + 15 ) - ); - - end FILL_BUFFER; - ---PAGE --- --- PUT_BUFFER --- - --- --- Depends on tricks to make the output work. --- - - procedure PUT_BUFFER ( - BUFFER : in SPTEST.BUFFER - ) is - begin - - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD1, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD2, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD3, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD4, FALSE ); - - end PUT_BUFFER; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - QID : RTEMS.ID; - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - TIMES : RTEMS.UNSIGNED32; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_IDENT( - SPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - QID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_IDENT" ); - TEXT_IO.PUT( "TA1 - message_queue_ident - qid => " ); - UNSIGNED32_IO.PUT( QID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 2 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 3 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT( - "TA1 - message_queue_receive - receive from queue 1 - " - ); - TEXT_IO.PUT_LINE( "10 second timeout" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA1 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA2" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE" ); - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 2 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 3 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 4 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 4 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 5 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_urgent - BUFFER 5 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_URGENT( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - for TIMES in 1 .. 4 - loop - TEXT_IO.PUT( - "TA1 - message_queue_receive - receive from queue 3 - " - ); - TEXT_IO.PUT_LINE( "WAIT FOREVER" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA1 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - end loop; - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_urgent - BUFFER 3 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_URGENT( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - TEXT_IO.PUT( - "TA1 - message_queue_receive - receive from queue 2 - " - ); - TEXT_IO.PUT_LINE( "WAIT FOREVER" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA1 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - message_queue_delete - delete queue 1" ); - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_DELETE" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_urgent - BUFFER 3 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_URGENT( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_delete - delete queue 2" ); - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_DELETE" ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - empty Q 3" ); - RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - TEXT_IO.PUT( "TA1 - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages were flushed from Q 3" ); - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 2 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 3 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - Q 3" ); - RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - TEXT_IO.PUT( "TA1 - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages were flushed from Q 3" ); - - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - until all message buffers consumed" - ); - loop - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TOO_MANY ); - - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - end loop; - - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - all message buffers consumed" - ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - Q 3" ); - RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - TEXT_IO.PUT( "TA1 - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages were flushed from Q 3" ); - - TEXT_IO.PUT( "TA1 - ERROR - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages flushed" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 13 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - NO_WAIT" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - task_set_priority - make self highest priority task" - ); - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - 3, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 2 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA2 - message_queue_send - BUFFER 2 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - 10 second timeout" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 3 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TEXT_IO.PUT_LINE( - "TA3 - message_queue_receive - receive from queue 2 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA3 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA3 - message_queue_broadcast - BUFFER 3 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_BROADCAST( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_BROADCAST" ); - TEXT_IO.PUT( "TA3 - number of tasks awakened = " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA3 - message_queue_receive - receive from queue 3 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA3 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA3 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp13/sptest.ads b/c/src/ada-tests/sptests/sp13/sptest.ads deleted file mode 100644 index cf53004c3d..0000000000 --- a/c/src/ada-tests/sptests/sp13/sptest.ads +++ /dev/null @@ -1,132 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 13 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.NAME; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.NAME; - FIELD3 : RTEMS.NAME; - FIELD4 : RTEMS.NAME; - end record; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FILL_BUFFER --- --- DESCRIPTION: --- --- This subprogram takes the SOURCE input string and places --- up to the first sixteen characters of that string into --- the message BUFFER. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out SPTEST.BUFFER - ); - --- --- PUT_BUFFER --- --- DESCRIPTION: --- --- This subprogram prints the specified message BUFFER. --- - - procedure PUT_BUFFER ( - BUFFER : in SPTEST.BUFFER - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp14/config.h b/c/src/ada-tests/sptests/sp14/config.h deleted file mode 100644 index ed43b85e09..0000000000 --- a/c/src/ada-tests/sptests/sp14/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp14/sp14.adb b/c/src/ada-tests/sptests/sp14/sp14.adb deleted file mode 100644 index 5f6d0819c0..0000000000 --- a/c/src/ada-tests/sptests/sp14/sp14.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP14 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP14 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP14; - diff --git a/c/src/ada-tests/sptests/sp14/sp14.scn b/c/src/ada-tests/sptests/sp14/sp14.scn deleted file mode 100644 index 5f2cfd70c7..0000000000 --- a/c/src/ada-tests/sptests/sp14/sp14.scn +++ /dev/null @@ -1,33 +0,0 @@ -*** TEST 14 *** -TA1 - signal_catch - INTERRUPT_LEVEL( 3 ) -TA1 - signal_send - SIGNAL_16 to self -ASR - ENTRY - signal => 16#10000# -ASR - EXIT - signal => 16#10000# -TA1 - signal_send - SIGNAL_0 to self -ASR - ENTRY - signal => 16#1# -ASR - task_wake_after - yield processor -TA2 - signal_send - SIGNAL_17 to TA1 -TA2 - task_wake_after - yield processor -ASR - ENTRY - signal => 16#20000# -ASR - EXIT - signal => 16#20000# -ASR - EXIT - signal => 16#1# -TA1 - signal_catch - NO_ASR -<pause> -TA1 - signal_send - SIGNAL_1 to self -ASR - ENTRY - signal => 16#2# -ASR - task_wake_after - yield processor -TA2 - signal_send - SIGNAL_18 and SIGNAL_19 to TA1 -TA2 - task_wake_after - yield processor -ASR - EXIT - signal => 16#2# -ASR - ENTRY - signal => 16#C0000# -ASR - EXIT - signal => 16#C0000# -TA1 - task_mode - disable ASRs -TA1 - sending signal to SELF from timer -TA1 - waiting for signal to arrive -TA1 - timer routine got the correct arguments -TA1 - task_mode - enable ASRs -ASR - ENTRY - signal => 16#8# -ASR - EXIT - signal => 16#8# -TA1 - signal_catch - ASR ADDRESS of NULL -TA1 - task_delete - delete self -*** END OF TEST 14 *** diff --git a/c/src/ada-tests/sptests/sp14/sptest.adb b/c/src/ada-tests/sptests/sp14/sptest.adb deleted file mode 100644 index d52d0dff15..0000000000 --- a/c/src/ada-tests/sptests/sp14/sptest.adb +++ /dev/null @@ -1,330 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 14 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with ADDRESS_IO; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; -with INTERFACES; use INTERFACES; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 14 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - RTEMS.MINIMUM_STACK_SIZE * 2, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - RTEMS.MINIMUM_STACK_SIZE * 2, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- SIGNAL_3_TO_TASK_1 --- - - procedure SIGNAL_3_TO_TASK_1 ( - ID : in RTEMS.ID; - POINTER : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SIGNAL_SEND( SPTEST.TASK_ID( 1 ), RTEMS.SIGNAL_3, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND of 3" ); - - SPTEST.TIMER_GOT_THIS_ID := ID; - SPTEST.TIMER_GOT_THIS_POINTER := POINTER; - - SPTEST.SIGNAL_SENT := TRUE; - - end SIGNAL_3_TO_TASK_1; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - signal_catch - INTERRUPT_LEVEL( 3 )" ); - RTEMS.SIGNAL_CATCH( - SPTEST.PROCESS_ASR'ACCESS, - RTEMS.INTERRUPT_LEVEL( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH INTERRUPT(3)" ); - - TEXT_IO.PUT_LINE( "TA1 - signal_send - SIGNAL_16 to self" ); - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_16, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_16 to SELF" - ); - - TEXT_IO.PUT_LINE( "TA1 - signal_send - SIGNAL_0 to self" ); - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_0 to SELF" - ); - - TEXT_IO.PUT_LINE( "TA1 - signal_catch - NO_ASR" ); - RTEMS.SIGNAL_CATCH(SPTEST.PROCESS_ASR'ACCESS, RTEMS.NO_ASR, STATUS); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH - NO_ASR" ); - - TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - signal_send - SIGNAL_1 to self" ); - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_1, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_1 to SELF" - ); - - TEXT_IO.PUT_LINE( "TA1 - task_mode - disable ASRs" ); - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - SPTEST.TIMER_GOT_THIS_ID := 0; - SPTEST.TIMER_GOT_THIS_POINTER := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT_LINE( "TA1 - sending signal to SELF from timer" ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - TEST_SUPPORT.TICKS_PER_SECOND / 2, - SPTEST.SIGNAL_3_TO_TASK_1'ACCESS, - SPTEST.TASK_1'ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - waiting for signal to arrive" ); - - SPTEST.SIGNAL_SENT := FALSE; - SPTEST.ASR_FIRED := FALSE; - - loop - exit when SPTEST.SIGNAL_SENT = TRUE; - end loop; - - if SPTEST.TIMER_GOT_THIS_ID = SPTEST.TIMER_ID( 1 ) and then - RTEMS.ARE_EQUAL(SPTEST.TIMER_GOT_THIS_POINTER, - SPTEST.TASK_1'ADDRESS) then - - TEXT_IO.PUT_LINE( "TA1 - timer routine got the correct arguments" ); - - else - - TEXT_IO.PUT( "TA1 - timer got (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_GOT_THIS_ID ); - TEXT_IO.PUT( "," ); - ADDRESS_IO.PUT( SPTEST.TIMER_GOT_THIS_POINTER ); - TEXT_IO.PUT( ") instead of (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_ID( 1 ) ); - TEXT_IO.PUT( "," ); - ADDRESS_IO.PUT( SPTEST.TASK_1'ADDRESS ); - TEXT_IO.PUT_LINE( ")!!!!" ); - - end if; - - TEXT_IO.PUT_LINE( "TA1 - task_mode - enable ASRs" ); - RTEMS.TASK_MODE( - RTEMS.ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - TEXT_IO.PUT_LINE( "TA1 - signal_catch - ASR ADDRESS of NULL" ); - RTEMS.SIGNAL_CATCH( NULL, RTEMS.DEFAULT_MODES, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_CATCH - NULL ADDRESS" - ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - signal_send - SIGNAL_17 to TA1" ); - RTEMS.SIGNAL_SEND( SPTEST.TASK_ID( 1 ), RTEMS.SIGNAL_17, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_17 to TA1" - ); - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER YIELD" ); - - TEXT_IO.PUT_LINE( - "TA2 - signal_send - SIGNAL_18 and SIGNAL_19 to TA1" - ); - RTEMS.SIGNAL_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.SIGNAL_18 + RTEMS.SIGNAL_19, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_18 and SIGNAL_19 to TA1" - ); - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER YIELD" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 14 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_2; - ---PAGE --- --- PROCESS_ASR --- - - procedure PROCESS_ASR ( - THE_SIGNAL_SET : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "ASR - ENTRY - signal => " ); - UNSIGNED32_IO.PUT( THE_SIGNAL_SET, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - if THE_SIGNAL_SET = RTEMS.SIGNAL_16 or else - THE_SIGNAL_SET = RTEMS.SIGNAL_17 or else - THE_SIGNAL_SET = RTEMS.SIGNAL_18 + RTEMS.SIGNAL_19 then - NULL; - - elsif THE_SIGNAL_SET = RTEMS.SIGNAL_0 or else - THE_SIGNAL_SET = RTEMS.SIGNAL_1 then - TEXT_IO.PUT_LINE( "ASR - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "TASK_WAKE_AFTER YIELD" - ); - - elsif THE_SIGNAL_SET = RTEMS.SIGNAL_3 then - - SPTEST.ASR_FIRED := TRUE; - - end if; - - TEXT_IO.PUT( "ASR - EXIT - signal => " ); - UNSIGNED32_IO.PUT( THE_SIGNAL_SET, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - end PROCESS_ASR; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp14/sptest.ads b/c/src/ada-tests/sptests/sp14/sptest.ads deleted file mode 100644 index d44d9d1b9b..0000000000 --- a/c/src/ada-tests/sptests/sp14/sptest.ads +++ /dev/null @@ -1,131 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 14 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- SIGNAL_SENT is set to TRUE to indicate that a signal set has --- been sent from an ISR to the executing task. --- - - SIGNAL_SENT : BOOLEAN; - pragma volatile( SIGNAL_SENT ); - --- --- These hold the arguments passed to the timer service routine. --- - - TIMER_GOT_THIS_ID : RTEMS.ID; - pragma volatile( TIMER_GOT_THIS_ID ); - - TIMER_GOT_THIS_POINTER : RTEMS.ADDRESS; - pragma volatile( TIMER_GOT_THIS_POINTER ); - --- --- ASR_FIRED is set to TRUE to indicate that the ASR has executed --- and was passed the correct signal set. --- - - ASR_FIRED : BOOLEAN; - pragma volatile( ASR_FIRED ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- SIGNAL_3_TO_TASK_1 --- --- DESCRIPTION: --- --- This subprogram sends signal 3 to TASK_1. --- - - procedure SIGNAL_3_TO_TASK_1 ( - ID : in RTEMS.ID; - POINTER : in RTEMS.ADDRESS - ); - --- --- PROCESS_ASR --- --- DESCRIPTION: --- --- This subprogram is an ASR for TASK_1. --- - - procedure PROCESS_ASR ( - THE_SIGNAL_SET : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Signal Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Signal Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp15/config.h b/c/src/ada-tests/sptests/sp15/config.h deleted file mode 100644 index 8325035a0e..0000000000 --- a/c/src/ada-tests/sptests/sp15/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_PARTITIONS 2 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp15/sp15.adb b/c/src/ada-tests/sptests/sp15/sp15.adb deleted file mode 100644 index a848d60d0b..0000000000 --- a/c/src/ada-tests/sptests/sp15/sp15.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP15 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP15 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP15; - diff --git a/c/src/ada-tests/sptests/sp15/sp15.scn b/c/src/ada-tests/sptests/sp15/sp15.scn deleted file mode 100644 index a0aa0e8149..0000000000 --- a/c/src/ada-tests/sptests/sp15/sp15.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** TEST 15 *** -INIT - partition_create - partition 1 -INIT - partition_create - partition 2 -TA1 - partition_ident - partition 1 id = 16#10001# -TA1 - partition_ident - partition 2 id = 16#10002# -TA1 - partition_get_buffer - get buffer 1 from partition 1 - 16#0# -TA1 - partition_get_buffer - get buffer 2 from partition 1 - 16#200# -TA1 - partition_get_buffer - get buffer 1 from partition 2 - 16#0# -TA1 - partition_get_buffer - get buffer 2 from partition 2 - 16#80# -TA1 - partition_return_buffer - return buffer 1 to partition 1 - 16#0# -TA1 - partition_return_buffer - return buffer 2 to partition 1 - 16#200# -TA1 - partition_return_buffer - return buffer 1 to partition 2 - 16#0# -TA1 - partition_return_buffer - return buffer 2 to partition 2 - 16#80# -TA1 - partition_delete - delete partition 1 -TA1 - partition_delete - delete partition 2 -*** END OF TEST 15 *** diff --git a/c/src/ada-tests/sptests/sp15/sptest.adb b/c/src/ada-tests/sptests/sp15/sptest.adb deleted file mode 100644 index b4835c5210..0000000000 --- a/c/src/ada-tests/sptests/sp15/sptest.adb +++ /dev/null @@ -1,284 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 15 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 15 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - SPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'T', '1', ' ' ); - SPTEST.PARTITION_NAME( 2 ) := RTEMS.BUILD_NAME( 'P', 'T', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - TEXT_IO.PUT_LINE( "INIT - partition_create - partition 1" ); - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - AREA_1'ADDRESS, - 4096, - 512, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE OF PT1" ); - - TEXT_IO.PUT_LINE( "INIT - partition_create - partition 2" ); - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 2 ), - AREA_2'ADDRESS, - 274, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PARTITION_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE OF PT2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_1 --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_1'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_1; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_2 --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_2'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_2; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PTID_1 : RTEMS.ID; - PTID_2 : RTEMS.ID; - BUFFER_ADDRESS_1 : RTEMS.ADDRESS; - BUFFER_ADDRESS_2 : RTEMS.ADDRESS; - BUFFER_ADDRESS_3 : RTEMS.ADDRESS; - BUFFER_ADDRESS_4 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA1 - partition_ident - partition 1 id = " ); - RTEMS.PARTITION_IDENT( - SPTEST.PARTITION_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - PTID_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_IDENT OF PT1" ); - UNSIGNED32_IO.PUT( PTID_1, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - partition_ident - partition 2 id = " ); - RTEMS.PARTITION_IDENT( - SPTEST.PARTITION_NAME( 2 ), - RTEMS.SEARCH_ALL_NODES, - PTID_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_IDENT OF PT2" ); - UNSIGNED32_IO.PUT( PTID_2, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 1 from partition 1 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 2 from partition 1 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 1 from partition 2 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 2 from partition 2 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 1 to partition 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 2 to partition 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 1 to partition 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 2 to partition 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT_LINE( "TA1 - partition_delete - delete partition 1" ); - RTEMS.PARTITION_DELETE( SPTEST.PARTITION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_DELETE OF SELF" ); - - TEXT_IO.PUT_LINE( "TA1 - partition_delete - delete partition 2" ); - RTEMS.PARTITION_DELETE( SPTEST.PARTITION_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_DELETE OF SELF" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 15 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp15/sptest.ads b/c/src/ada-tests/sptests/sp15/sptest.ads deleted file mode 100644 index ea22067451..0000000000 --- a/c/src/ada-tests/sptests/sp15/sptest.ads +++ /dev/null @@ -1,118 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 15 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partitions created --- by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays define the memory areas used for the partitions in --- this test. --- - - AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - AREA_2 : array ( RTEMS.UNSIGNED32 range 0 .. 273 ) of RTEMS.UNSIGNED8; - for AREA_2'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_ADDRESS_FROM_AREA_1 --- --- DESCRIPTION: --- --- This subpgram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_1. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- PUT_ADDRESS_FROM_AREA_2 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_2. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Partition Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp16/config.h b/c/src/ada-tests/sptests/sp16/config.h deleted file mode 100644 index af594bd808..0000000000 --- a/c/src/ada-tests/sptests/sp16/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_REGIONS 4 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp16/sp16.adb b/c/src/ada-tests/sptests/sp16/sp16.adb deleted file mode 100644 index cbdc6008ac..0000000000 --- a/c/src/ada-tests/sptests/sp16/sp16.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP16 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP16 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP16; - diff --git a/c/src/ada-tests/sptests/sp16/sp16.scn b/c/src/ada-tests/sptests/sp16/sp16.scn deleted file mode 100644 index 4706729d3d..0000000000 --- a/c/src/ada-tests/sptests/sp16/sp16.scn +++ /dev/null @@ -1,48 +0,0 @@ -*** TEST 16 *** -TA1 - region_ident - rnid => 16#10001# -TA1 - region_get_segment - wait on 100 byte segment from region 2 -TA1 - got segment from region 2 - 16#F78# -TA1 - region_get_segment - wait on 3K segment from region 3 -TA1 - got segment from region 3 - 16#3F8# -TA1 - region_get_segment - get 3080 byte segment from region 1 - NO_WAIT -TA1 - got segment from region 1 - 16#378# -TA1 - task_wake_after - yield processor -TA2 - region_get_segment - wait on 2K segment from region 1 -TA3 - region_get_segment - wait on 3968 byte segment from region 2 -<pause> -TA1 - region_return_segment - return segment to region 1 - 16#378# -TA1 - region_get_segment - wait 10 seconds for 3K segment from region 1 -TA2 - got segment from region 1 - 16#7F8# -TA2 - region_return_segment - return segment to region 1 - 16#7F8# -TA2 - task_set_priority - make self highest priority task -TA2 - region_get_segment - wait on 3968 byte segment from region 2 -TA1 - got segment from region 1 - 16#3F8# -TA1 - region_return_segment - return segment to region 2 - 16#F78# -TA2 - got segment from region 2 - 16#8# -TA2 - region_return_segment - return segment to region 2 - 16#8# -TA2 - task_delete - delete self -TA1 - task_wake_after - yield processor -TA3 - got segment from region 2 - 16#8# -TA3 - region_get_segment - wait on 2K segment from region 3 -TA1 - task_delete - delete TA3 -<pause> -TA1 - task_wake_after - yield processor -TA4 - region_get_segment - wait on 1.5K segment from region 1 -TA5 - region_get_segment - wait on 1.5K segment from region 1 -TA1 - region_return_segment - return segment to region 1 - 16#3F8# -TA1 - task_wake_after - yield processor -TA4 - got and returned 16#9F8# -TA5 - got and returned 16#3F0# -TA1 - region_get_segment - wait 10 seconds for 3K segment from region 1 -TA1 - got segment from region 1 - 16#3F8# -TA1 - task_wake_after - sleep 1 second -TA4 - region_get_segment - wait on 3K segment from region 1 -TA5 - region_get_segment - wait on 3K segment from region 1 -TA1 - task_delete - delete TA4 -TA1 - region_return_segment - return segment to region 1 - 16#3F8# -TA1 - task_wake_after - yield processor -TA5 - got segment from region 1 - 16#3F8# -TA5 - region_return_segment - return segment to region 1 - 16#3F8# -TA5 - task_delete - delete self -TA1 - region_delete - delete region 1 -*** END OF TEST 16 *** diff --git a/c/src/ada-tests/sptests/sp16/sptest.adb b/c/src/ada-tests/sptests/sp16/sptest.adb deleted file mode 100644 index cfec98d82c..0000000000 --- a/c/src/ada-tests/sptests/sp16/sptest.adb +++ /dev/null @@ -1,686 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 16 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 16 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - SPTEST.REGION_NAME( 1 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - SPTEST.REGION_NAME( 2 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - SPTEST.REGION_NAME( 3 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.AREA_1'ADDRESS, - 4096, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN1" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 2 ), - SPTEST.AREA_2'ADDRESS, - 4096, - 128, - RTEMS.PRIORITY, - SPTEST.REGION_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN2" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 3 ), - SPTEST.AREA_3'ADDRESS, - 4096, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN3" ); - - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_1 --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_1'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_1; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_2 --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_2'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_2; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_3 --- - - procedure PUT_ADDRESS_FROM_AREA_3 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_3'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_3; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RNID : RTEMS.ID; - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_4 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.REGION_IDENT( SPTEST.REGION_NAME( 1 ), RNID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_IDENT OF RN1" ); - TEXT_IO.PUT( "TA1 - region_ident - rnid => " ); - UNSIGNED32_IO.PUT( RNID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "100 byte segment from region 2" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 2 ), - 100, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 2 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "3K segment from region 3" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 3 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 3 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_3( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - get 3080 byte segment " ); - TEXT_IO.PUT_LINE( "from region 1 - NO_WAIT" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3080, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait 10 seconds for 3K " ); - TEXT_IO.PUT_LINE( "segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 2 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA3" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - -TEST_SUPPORT.PAUSE; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 5 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 5 ), - SPTEST.TASK_5'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA5" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "TA1 - region_get_segment - wait 10 seconds for 3K " ); - TEXT_IO.PUT_LINE( "segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA4" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 4 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" ); - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - region_delete - delete region 1" ); - RTEMS.REGION_DELETE( SPTEST.REGION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_DELETE OF RN1" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 16 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA2 - region_get_segment - wait on 2K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA2 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA2 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA2 - task_set_priority - make self " ); - TEXT_IO.PUT_LINE( "highest priority task" ); - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - SPTEST.BASE_PRIORITY - 1, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TEXT_IO.PUT( - "TA2 - region_get_segment - wait on 3968 byte segment " - ); - TEXT_IO.PUT_LINE( "from region 2" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 2 ), - 3968, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA2 - got segment from region 2 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA2 - region_return_segment - return segment to region 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_2 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 2 ), - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA2 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA3 - region_get_segment - wait on 3968 byte segment " ); - TEXT_IO.PUT_LINE( "from region 2" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 2 ), - 3968, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA3 - got segment from region 2 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA3 - region_get_segment - wait on 2K segment " ); - TEXT_IO.PUT_LINE( "from region 3" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 3 ), - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA4 - region_get_segment - wait on 1.5K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 1536, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.PUT( "TA4 - got and returned " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "TA4 - region_get_segment - wait on 3K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - end TASK_4; - ---PAGE --- --- TASK_5 --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA5 - region_get_segment - wait on 1.5K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 1536, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.PUT( "TA5 - got and returned " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "TA5 - region_get_segment - wait on 3K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA5 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.PUT( - "TA5 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA5 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA5" ); - - end TASK_5; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp16/sptest.ads b/c/src/ada-tests/sptests/sp16/sptest.ads deleted file mode 100644 index a9a8df0881..0000000000 --- a/c/src/ada-tests/sptests/sp16/sptest.ads +++ /dev/null @@ -1,195 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 16 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS regions created --- by this test. --- - - REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following constant defines the priority of most of the --- RTEMS tasks in this test. This allows one of the tasks to --- easily set itself to a higher priority than the rest. --- - - BASE_PRIORITY : constant RTEMS.TASK_PRIORITY := 140; - --- --- These arrays define the memory areas used for the regions in --- this test. --- - - AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - AREA_2 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_2'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - AREA_3 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_3'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_ADDRESS_FROM_AREA_1 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_1. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- PUT_ADDRESS_FROM_AREA_2 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_2. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_2 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- PUT_ADDRESS_FROM_AREA_3 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_3. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_3 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_3 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_5 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp17/config.h b/c/src/ada-tests/sptests/sp17/config.h deleted file mode 100644 index 1e70e8d7b2..0000000000 --- a/c/src/ada-tests/sptests/sp17/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(25) -#define CONFIGURE_TICKS_PER_TIMESLICE 1000 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp17/sp17.adb b/c/src/ada-tests/sptests/sp17/sp17.adb deleted file mode 100644 index 1a0a317af7..0000000000 --- a/c/src/ada-tests/sptests/sp17/sp17.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP17 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP17 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP17; - diff --git a/c/src/ada-tests/sptests/sp17/sp17.scn b/c/src/ada-tests/sptests/sp17/sp17.scn deleted file mode 100644 index 887284d877..0000000000 --- a/c/src/ada-tests/sptests/sp17/sp17.scn +++ /dev/null @@ -1,8 +0,0 @@ -*** TEST 17 *** -TA2 - Suspending self -TA1 - signal_catch: initializing signal catcher -TA1 - Sending signal to self -TA2 - signal_return preempted correctly -TA1 - TA2 correctly preempted me -TA1 - Got Back!!! -*** END OF TEST 17 *** diff --git a/c/src/ada-tests/sptests/sp17/sptest.adb b/c/src/ada-tests/sptests/sp17/sptest.adb deleted file mode 100644 index b1bbc26b3d..0000000000 --- a/c/src/ada-tests/sptests/sp17/sptest.adb +++ /dev/null @@ -1,173 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 17 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 17 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - SPTEST.TASK_2_PREEMPTED := FALSE; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 2, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PROCESS_ASR --- - - procedure PROCESS_ASR ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_RESUME( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "ASR - TASK_RESUME OF TA2" ); - - end PROCESS_ASR; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - signal_catch: initializing signal catcher" ); - RTEMS.SIGNAL_CATCH( - SPTEST.PROCESS_ASR'ACCESS, - RTEMS.NO_ASR + RTEMS.NO_PREEMPT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH" ); - - TEXT_IO.PUT_LINE( "TA1 - Sending signal to self" ); - RTEMS.SIGNAL_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.SIGNAL_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND" ); - - if SPTEST.TASK_2_PREEMPTED = TRUE then - TEXT_IO.PUT_LINE( "TA1 - TA2 correctly preempted me" ); - end if; - - TEXT_IO.PUT_LINE( "TA1 - Got Back!!!" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 17 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - SPTEST.TASK_2_PREEMPTED := FALSE; - - TEXT_IO.PUT_LINE( "TA2 - Suspending self" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA2 - signal_return preempted correctly" ); - - SPTEST.TASK_2_PREEMPTED := TRUE; - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - end TASK_2; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp17/sptest.ads b/c/src/ada-tests/sptests/sp17/sptest.ads deleted file mode 100644 index e6dc2040d5..0000000000 --- a/c/src/ada-tests/sptests/sp17/sptest.ads +++ /dev/null @@ -1,93 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 17 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following is set to TRUE by TASK_2 when it preempts TASK_1. --- - - TASK_2_PREEMPTED : STANDARD.BOOLEAN; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PROCESS_ASR --- --- DESCRIPTION: --- --- This subprogram is the ASR for TASK_1. --- - - procedure PROCESS_ASR ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests that when the transfer from the task --- to the ASR (and vice-versa) is performed, that the new mode --- is taken into account. If this occurs, then TASK_2 will be --- able to preempt upon completion of the ASR of TASK_1. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is designed to preempt TASK_1. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp19/README b/c/src/ada-tests/sptests/sp19/README deleted file mode 100644 index 07d60c5bc4..0000000000 --- a/c/src/ada-tests/sptests/sp19/README +++ /dev/null @@ -1,23 +0,0 @@ -# -# $Id$ -# - -This is a "problem" test in Ada versus the C equivalent. In C, -we used macros to : - - + declare a LOT of local integer and floating point variables - + load them with values - + check them at certain times - + to avoid floating point operations on CPUs w/o hardware support - -The macros are not equivalent to subprograms doing the same thing. -We are trying to insure that the register set is fully utilized and -checking that it survives context switches. If the routines are -subprograms, then calling conventions and scoping rules apply. Thus -the variables do not exist throughout the entire life of the task -as in the C test. - -It seems to point out that although the conditional compilation -and macro capabilities of C are often abused, they do provide -capabilities which are difficult if not impossible to mimic entirely -with subprograms. diff --git a/c/src/ada-tests/sptests/sp19/config.h b/c/src/ada-tests/sptests/sp19/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp19/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp19/sp19.adb b/c/src/ada-tests/sptests/sp19/sp19.adb deleted file mode 100644 index 61a5107332..0000000000 --- a/c/src/ada-tests/sptests/sp19/sp19.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP19 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP19 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.FLOATING_POINT, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP19; - diff --git a/c/src/ada-tests/sptests/sp19/sp19.scn b/c/src/ada-tests/sptests/sp19/sp19.scn deleted file mode 100644 index 8b7feadb37..0000000000 --- a/c/src/ada-tests/sptests/sp19/sp19.scn +++ /dev/null @@ -1,56 +0,0 @@ -*** TEST 19 *** -FP1 - integer base = ( 16#6000#) -FP1 - float base = ( 6.00060E+03) -FP1 - integer base = ( 16#6000#) -FP1 - float base = ( 6.00060E+03) -TA1 - integer base = ( 16#1000#) -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - integer base = ( 16#2000#) -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - integer base = ( 16#3000#) -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA4 - integer base = ( 16#4000#) -TA4 - float base = ( 4.00040E+03) -TA4 - clock_get - 9: 0: 0 12/31/1988 -TA5 - integer base = ( 16#5000#) -TA5 - float base = ( 5.00050E+03) -TA5 - clock_get - 9: 0: 0 12/31/1988 -TA4 - clock_get - 9: 0: 1 12/31/1988 -TA5 - clock_get - 9: 0: 1 12/31/1988 -TA4 - clock_get - 9: 0: 2 12/31/1988 -TA5 - clock_get - 9: 0: 2 12/31/1988 -TA4 - clock_get - 9: 0: 3 12/31/1988 -TA5 - clock_get - 9: 0: 3 12/31/1988 -TA4 - clock_get - 9: 0: 4 12/31/1988 -TA5 - clock_get - 9: 0: 4 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA4 - clock_get - 9: 0: 5 12/31/1988 -TA5 - clock_get - 9: 0: 5 12/31/1988 -TA4 - clock_get - 9: 0: 6 12/31/1988 -TA5 - clock_get - 9: 0: 6 12/31/1988 -TA4 - clock_get - 9: 0: 7 12/31/1988 -TA5 - clock_get - 9: 0: 7 12/31/1988 -TA4 - clock_get - 9: 0: 8 12/31/1988 -TA5 - clock_get - 9: 0: 8 12/31/1988 -TA4 - clock_get - 9: 0: 9 12/31/1988 -TA5 - clock_get - 9: 0: 9 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA4 - clock_get - 9: 0:10 12/31/1988 -TA5 - clock_get - 9: 0:10 12/31/1988 -TA4 - clock_get - 9: 0:11 12/31/1988 -TA5 - clock_get - 9: 0:11 12/31/1988 -TA4 - clock_get - 9: 0:12 12/31/1988 -TA5 - clock_get - 9: 0:12 12/31/1988 -TA4 - clock_get - 9: 0:13 12/31/1988 -TA5 - clock_get - 9: 0:13 12/31/1988 -TA4 - clock_get - 9: 0:14 12/31/1988 -TA5 - clock_get - 9: 0:14 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA5 - clock_get - 9: 0:15 12/31/1988 -TA4 - clock_get - 9: 0:15 12/31/1988 -TA4 - task_delete - self -TA5 - task_delete - TA3 -*** END OF TEST 19 *** - diff --git a/c/src/ada-tests/sptests/sp19/sptest.ads b/c/src/ada-tests/sptests/sp19/sptest.ads deleted file mode 100644 index 92d65ffc3d..0000000000 --- a/c/src/ada-tests/sptests/sp19/sptest.ads +++ /dev/null @@ -1,102 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 19 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.NAME; - --- --- This array contains the floating point factors used by the --- floating point tasks in this test. --- - - FP_FACTORS : array ( RTEMS.UNSIGNED32 range 0 .. 9 ) of FLOAT; - --- --- This array contains the integer factors used by the --- integer tasks in this test. --- - - INTEGER_FACTORS : array ( RTEMS.UNSIGNED32 range 0 .. 9 ) of - RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FIRST_FP_TASK --- --- DESCRIPTION: --- --- This RTEMS task tests the restart and deletion of floating point tasks. --- - - procedure FIRST_FP_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FP_TASK --- --- DESCRIPTION: --- --- This RTEMS task tests the basic capabilities of a floating point --- task. --- - - procedure FP_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task provides a non-floating point task to test --- that an application can utilize a mixture of floating point --- and non-floating point tasks. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp20/config.h b/c/src/ada-tests/sptests/sp20/config.h deleted file mode 100644 index d8e351ae1f..0000000000 --- a/c/src/ada-tests/sptests/sp20/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_PERIODS 10 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp20/sp20.adb b/c/src/ada-tests/sptests/sp20/sp20.adb deleted file mode 100644 index 0bb685dc1d..0000000000 --- a/c/src/ada-tests/sptests/sp20/sp20.adb +++ /dev/null @@ -1,56 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP20 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP20 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 10, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP20; - diff --git a/c/src/ada-tests/sptests/sp20/sp20.scn b/c/src/ada-tests/sptests/sp20/sp20.scn deleted file mode 100644 index ec21e4bdf2..0000000000 --- a/c/src/ada-tests/sptests/sp20/sp20.scn +++ /dev/null @@ -1,27 +0,0 @@ -*** TEST 20 *** -TA1 - rate_monotonic_create id = 16#10001# -TA1 - rate_monotonic_ident id = 16#10001# -TA1 - (16#10001#) period 2 -TA2 - rate_monotonic_create id = 16#10002# -TA2 - rate_monotonic_ident id = 16#10002# -TA2 - (16#10002#) period 2 -TA3 - rate_monotonic_create id = 16#10003# -TA3 - rate_monotonic_ident id = 16#10003# -TA3 - (16#10003#) period 2 -TA4 - rate_monotonic_create id = 16#10004# -TA4 - rate_monotonic_ident id = 16#10004# -TA4 - (16#10004#) period 2 -TA5 - rate_monotonic_create id = 16#10005# -TA5 - rate_monotonic_ident id = 16#10005# -TA5 - (16#10005#) period 100 -TA5 - PERIODS CHECK OK (1) -TA5 - PERIODS CHECK OK (2) -TA5 - PERIODS CHECK OK (3) -TA5 - PERIODS CHECK OK (4) -TA5 - PERIODS CHECK OK (5) -TA5 - PERIODS CHECK OK (6) -TA5 - PERIODS CHECK OK (7) -TA5 - PERIODS CHECK OK (8) -TA5 - PERIODS CHECK OK (9) -TA5 - PERIODS CHECK OK (10) -*** END OF TEST 20 *** diff --git a/c/src/ada-tests/sptests/sp20/sptest.adb b/c/src/ada-tests/sptests/sp20/sptest.adb deleted file mode 100644 index c12bef23c0..0000000000 --- a/c/src/ada-tests/sptests/sp20/sptest.adb +++ /dev/null @@ -1,280 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 20 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 20 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - - for INDEX in 1 .. 5 - loop - - SPTEST.COUNT( INDEX ) := 0; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( INDEX ), - SPTEST.PRIORITIES( INDEX ), - 4096, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - end loop; - - for INDEX in 1 .. 5 - loop - - RTEMS.TASK_START( - SPTEST.TASK_ID( INDEX ), - SPTEST.TASK_1_THROUGH_5'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1_THROUGH_5 --- - - procedure TASK_1_THROUGH_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RMID : RTEMS.ID; - TEST_RMID : RTEMS.ID; - INDEX : RTEMS.UNSIGNED32; - PASS : RTEMS.UNSIGNED32; - FAILED : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CREATE( ARGUMENT, RMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INTEGER( ARGUMENT ) ), FALSE ); - TEXT_IO.PUT( "- rate_monotonic_create id = " ); - UNSIGNED32_IO.PUT( RMID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - RTEMS.RATE_MONOTONIC_IDENT( ARGUMENT, TEST_RMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_IDENT" ); - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INTEGER( ARGUMENT ) ), FALSE ); - TEXT_IO.PUT( "- rate_monotonic_ident id = " ); - UNSIGNED32_IO.PUT( RMID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - if TEST_RMID /= RMID then - TEXT_IO.PUT_LINE( "RMID's DO NOT MATCH!!!" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INTEGER( ARGUMENT ) ), FALSE ); - TEXT_IO.PUT( " - (" ); - UNSIGNED32_IO.PUT( RMID, WIDTH => 1, BASE => 16 ); - TEXT_IO.PUT( ") period " ); - UNSIGNED32_IO.PUT( - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - WIDTH => 1, - BASE => 10 - ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - case ARGUMENT is - when 1 .. 4 => - loop - RTEMS.RATE_MONOTONIC_PERIOD( - RMID, - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - STATUS - ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD" - ); - - SPTEST.COUNT( INTEGER( ARGUMENT ) ) := - SPTEST.COUNT( INTEGER( ARGUMENT ) ) + 1; - - end loop; - - when 5 => - - PASS := 0; - FAILED := 0; - - RTEMS.RATE_MONOTONIC_PERIOD( - RMID, - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - STATUS - ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD 1 OF TA5" - ); - - SPTEST.GET_ALL_COUNTERS; - - loop - - RTEMS.RATE_MONOTONIC_PERIOD( - RMID, - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - STATUS - ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD 2 OF TA5" - ); - - SPTEST.GET_ALL_COUNTERS; - - for INDEX in 1 .. 4 - loop - - if SPTEST.TEMPORARY_COUNT( INDEX ) /= - SPTEST.ITERATIONS( INDEX ) then - - TEXT_IO.PUT( "FAIL -- " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( INDEX ), - FALSE - ); - TEXT_IO.PUT( "ACTUAL=" ); - UNSIGNED32_IO.PUT( - SPTEST.TEMPORARY_COUNT( INDEX ), - WIDTH => 3, - BASE => 10 - ); - TEXT_IO.PUT( " EXPECTED=" ); - UNSIGNED32_IO.PUT( - SPTEST.ITERATIONS( INDEX ), - WIDTH => 3, - BASE => 10 - ); - TEXT_IO.NEW_LINE; - - FAILED := FAILED + 1; - - end if; - - end loop; - - if FAILED = 5 then - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - PASS := PASS + 1; - TEXT_IO.PUT( "TA5 - PERIODS CHECK OK (" ); - UNSIGNED32_IO.PUT( PASS, WIDTH => 1, BASE => 10 ); - TEXT_IO.PUT_LINE( ")" ); - - if PASS = 10 then - TEXT_IO.PUT_LINE( "*** END OF TEST 20 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - end loop; - - when others => - NULL; - - end case; - - end TASK_1_THROUGH_5; - ---PAGE --- --- GET_ALL_COUNTERS --- - - procedure GET_ALL_COUNTERS - is - PREVIOUS_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE TO NO_PREEMPT" ); - - SPTEST.TEMPORARY_COUNT := SPTEST.COUNT; - - for INDEX in 1 .. 5 - loop - - SPTEST.COUNT( INDEX ) := 0; - - end loop; - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE TO PREEMPT" ); - - end GET_ALL_COUNTERS; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp20/sptest.ads b/c/src/ada-tests/sptests/sp20/sptest.ads deleted file mode 100644 index bfc62ad772..0000000000 --- a/c/src/ada-tests/sptests/sp20/sptest.ads +++ /dev/null @@ -1,105 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 20 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( 1 .. 5 ) of RTEMS.ID; - TASK_NAME : array ( 1 .. 5 ) of RTEMS.NAME; - --- --- These arrays contain the parameters which define the execution --- characteristics and periods of each instantiation of the --- copies of the RTEMS task TASKS_1_THROUGH_5. --- - - PERIODS : constant array ( 1 .. 5 ) - of RTEMS.UNSIGNED32 := ( 2, 2, 2, 2, 100 ); - - ITERATIONS : constant array ( 1 .. 5 ) - of RTEMS.UNSIGNED32 := ( 50, 50, 50, 50, 1 ); - - PRIORITIES : constant array ( 1 .. 5 ) - of RTEMS.UNSIGNED32 := ( 1, 1, 3, 4, 5 ); - --- --- The following type defines the array used to manage the --- execution counts of each task's period. --- - - type COUNT_ARRAY is array ( 1 .. 5 ) of RTEMS.UNSIGNED32; - --- --- These arrays contains the number of periods successfully completed --- by each of the tasks. At each of its periods, the fifth task --- will copy the contents of the COUNT array to TEMPORARY_COUNT, --- and clear the COUNT array. The copy is performed to insure --- that no periods fire while it is verifying the correctness --- of the test's execution. --- - - COUNT : SPTEST.COUNT_ARRAY; - TEMPORARY_COUNT : SPTEST.COUNT_ARRAY; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1_THROUGH_5 --- --- DESCRIPTION: --- --- These RTEMS tasks test the Rate Monotonic Manager. --- - - procedure TASK_1_THROUGH_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- GET_ALL_COUNTERS --- --- DESCRIPTION: --- --- This subprogram atomically copies the contents of COUNTER to --- TEMPORARY_COUNTER. --- - - procedure GET_ALL_COUNTERS; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp21/config.h b/c/src/ada-tests/sptests/sp21/config.h deleted file mode 100644 index 94ca99691d..0000000000 --- a/c/src/ada-tests/sptests/sp21/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER -#define CONFIGURE_TEST_NEEDS_STUB_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp21/sp21.adb b/c/src/ada-tests/sptests/sp21/sp21.adb deleted file mode 100644 index 6084211195..0000000000 --- a/c/src/ada-tests/sptests/sp21/sp21.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP21 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP21 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP21; - diff --git a/c/src/ada-tests/sptests/sp21/sp21.scn b/c/src/ada-tests/sptests/sp21/sp21.scn deleted file mode 100644 index 86dd4922b4..0000000000 --- a/c/src/ada-tests/sptests/sp21/sp21.scn +++ /dev/null @@ -1,19 +0,0 @@ -*** TEST 21 *** ------ TESTING THE NULL DRIVER CHECKS ----- -TA1 - io_initialize - NULL DRIVER SUCCESSFUL -TA1 - io_open - NULL DRIVER SUCCESSFUL -TA1 - io_close - NULL DRIVER SUCCESSFUL -TA1 - io_read - NULL DRIVER SUCCESSFUL -TA1 - io_write - NULL DRIVER SUCCESSFUL -TA1 - io_control - NULL DRIVER SUCCESSFUL ------ TESTING THE I/O MANAGER DIRECTIVES ----- -TA1 - io_initialize - STUB DRIVER SUCCESSFUL -TA1 - io_open - STUB DRIVER SUCCESSFUL -TA1 - io_close - STUB DRIVER SUCCESSFUL -TA1 - io_read - STUB DRIVER SUCCESSFUL -TA1 - io_write - STUB DRIVER SUCCESSFUL -TA1 - io_control - STUB DRIVER SUCCESSFUL ------ RETURNING INVALID MAJOR NUMBER ----- -TA1 - io_initialize - INVALID_NUMBER -TA1 - io_open - INVALID_NUMBER -*** END OF TEST 21 *** diff --git a/c/src/ada-tests/sptests/sp21/sptest.adb b/c/src/ada-tests/sptests/sp21/sptest.adb deleted file mode 100644 index 8ec76a7cf0..0000000000 --- a/c/src/ada-tests/sptests/sp21/sptest.adb +++ /dev/null @@ -1,270 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 21 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 21 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RETURN_VALUE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "----- TESTING THE NULL DRIVER CHECKS -----" ); - - RTEMS.IO_INITIALIZE( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_INITIALIZE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_OPEN( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_OPEN" ); - TEXT_IO.PUT_LINE( - "TA1 - io_open - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CLOSE( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CLOSE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_close - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_READ( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_READ" ); - TEXT_IO.PUT_LINE( - "TA1 - io_read - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_WRITE( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_WRITE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_write - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CONTROL( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CONTROL" ); - TEXT_IO.PUT_LINE( - "TA1 - io_control - NULL DRIVER SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( "----- TESTING THE I/O MANAGER DIRECTIVES -----" ); - - RTEMS.IO_INITIALIZE( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_INITIALIZE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_OPEN( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_OPEN" ); - TEXT_IO.PUT_LINE( - "TA1 - io_open - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CLOSE( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CLOSE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_close - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_READ( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_READ" ); - TEXT_IO.PUT_LINE( - "TA1 - io_read - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_WRITE( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_WRITE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_write - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CONTROL( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CONTROL" ); - TEXT_IO.PUT_LINE( - "TA1 - io_control - STUB DRIVER SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( "----- RETURNING INVALID MAJOR NUMBER -----" ); - - RTEMS.IO_INITIALIZE( - SPTEST.INVALID_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_INITIALIZE" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - INVALID_NUMBER" - ); - - RTEMS.IO_OPEN( - SPTEST.INVALID_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_OPEN" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_open - INVALID_NUMBER" - ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 21 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp21/sptest.ads b/c/src/ada-tests/sptests/sp21/sptest.ads deleted file mode 100644 index 04a8ad9c4f..0000000000 --- a/c/src/ada-tests/sptests/sp21/sptest.ads +++ /dev/null @@ -1,69 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 21 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following constants define the device major numbers --- utilized by this test. --- - - NO_DRIVER_MAJOR : constant RTEMS.DEVICE_MAJOR_NUMBER := 3; - INVALID_DRIVER_MAJOR : constant RTEMS.DEVICE_MAJOR_NUMBER := 5; - STUB_DRIVER_MAJOR : constant RTEMS.DEVICE_MAJOR_NUMBER := 2; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Input Output Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp22/config.h b/c/src/ada-tests/sptests/sp22/config.h deleted file mode 100644 index 09a09692a8..0000000000 --- a/c/src/ada-tests/sptests/sp22/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 2 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp22/sp22.adb b/c/src/ada-tests/sptests/sp22/sp22.adb deleted file mode 100644 index 06cb14a01f..0000000000 --- a/c/src/ada-tests/sptests/sp22/sp22.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP22 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP22 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP22; - diff --git a/c/src/ada-tests/sptests/sp22/sp22.scn b/c/src/ada-tests/sptests/sp22/sp22.scn deleted file mode 100644 index 8422e73141..0000000000 --- a/c/src/ada-tests/sptests/sp22/sp22.scn +++ /dev/null @@ -1,29 +0,0 @@ -*** TEST 22 *** -INIT - timer_create - creating timer 1 -INIT - timer 1 has id (16#10001#) -TA1 - timer_ident - identing timer 1 -TA1 - timer 1 has id (16#10001#) -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA1 - timer_after - timer 1 in 3 seconds -TA1 - task_suspend( SELF ) -TA1 - clock_get - 9: 0: 3 12/31/1988 -TA1 - timer_after - timer 1 in 3 seconds -TA1 - task_wake_after - 1 second -TA1 - clock_get - 9: 0: 4 12/31/1988 -TA1 - timer_reset - timer 1 -TA1 - task_suspend( SELF ) -TA1 - clock_get - 9: 0: 7 12/31/1988 -<pause> -TA1 - timer_after - timer 1 in 3 seconds -TA1 - timer_cancel - timer 1 -TA1 - clock_get - 9: 0: 7 12/31/1988 -TA1 - timer_when - timer 1 in 3 seconds -TA1 - task_suspend( SELF ) -TA1 - clock_get - 9: 0:10 12/31/1988 -TA1 - timer_when - timer 1 in 3 seconds -TA1 - task_wake_after - 1 second -TA1 - clock_get - 9: 0:11 12/31/1988 -TA1 - timer_cancel - timer 1 -TA1 - task_wake_after - YIELD (only task at priority) -TA1 - timer_delete - timer 1 -*** END OF TEST 22 *** diff --git a/c/src/ada-tests/sptests/sp22/sptest.adb b/c/src/ada-tests/sptests/sp22/sptest.adb deleted file mode 100644 index 830dbf9693..0000000000 --- a/c/src/ada-tests/sptests/sp22/sptest.adb +++ /dev/null @@ -1,299 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 22 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 22 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - TEXT_IO.PUT_LINE( "INIT - timer_create - creating timer 1" ); - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM1" ); - TEXT_IO.PUT( "INIT - timer 1 has id (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_ID( 1 ), WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT_LINE( ")" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- DELAYED_RESUME --- - - procedure DELAYED_RESUME ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_RESUME( SPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF SELF" ); - - end DELAYED_RESUME; - ---PAGE --- --- PRINT_TIME --- - - procedure PRINT_TIME - is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( 1 ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - end PRINT_TIME; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TMID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - --- GET ID - - TEXT_IO.PUT_LINE( "TA1 - timer_ident - identing timer 1" ); - RTEMS.TIMER_IDENT( SPTEST.TIMER_NAME( 1 ), TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_IDENT OF TM1" ); - TEXT_IO.PUT( "TA1 - timer 1 has id (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_ID( 1 ), WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT_LINE( ")" ); - --- AFTER WHICH IS ALLOWED TO FIRE - - SPTEST.PRINT_TIME; - - TEXT_IO.PUT_LINE( "TA1 - timer_after - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_AFTER( - TMID, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend( SELF )" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - SPTEST.PRINT_TIME; - --- AFTER WHICH IS RESET AND ALLOWED TO FIRE - - TEXT_IO.PUT_LINE( "TA1 - timer_after - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_AFTER( - TMID, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.PRINT_TIME; - - TEXT_IO.PUT_LINE( "TA1 - timer_reset - timer 1" ); - RTEMS.TIMER_RESET( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_RESET" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend( SELF )" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - SPTEST.PRINT_TIME; - -TEST_SUPPORT.PAUSE; - --- --- Reset the time since we do not know how long the user waited --- before pressing <cr> at the pause. This insures that the --- actual output matches the screen. --- - - TIME := ( 1988, 12, 31, 9, 0, 7, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - --- after which is canceled - - TEXT_IO.PUT_LINE( "TA1 - timer_after - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_AFTER( - TMID, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - timer_cancel - timer 1" ); - RTEMS.TIMER_CANCEL( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - --- when which is allowed to fire - - SPTEST.PRINT_TIME; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TIME.SECOND := TIME.SECOND + 3; - - TEXT_IO.PUT_LINE( "TA1 - timer_when - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_WHEN( - TMID, - TIME, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend( SELF )" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - SPTEST.PRINT_TIME; - --- when which is canceled - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TIME.SECOND := TIME.SECOND + 3; - - TEXT_IO.PUT_LINE( "TA1 - timer_when - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_WHEN( - TMID, - TIME, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.PRINT_TIME; - - TEXT_IO.PUT_LINE( "TA1 - timer_cancel - timer 1" ); - RTEMS.TIMER_CANCEL( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - --- delete - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - YIELD (only task at priority)" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER YIELD" ); - - TEXT_IO.PUT_LINE( "TA1 - timer_delete - timer 1" ); - RTEMS.TIMER_DELETE( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_DELETE" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 22 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp22/sptest.ads b/c/src/ada-tests/sptests/sp22/sptest.ads deleted file mode 100644 index 9401ce1cc0..0000000000 --- a/c/src/ada-tests/sptests/sp22/sptest.ads +++ /dev/null @@ -1,92 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 22 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_RESUME --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired as a timer service --- routine. When fired this subprogram resumes TASK_1. --- - - procedure DELAYED_RESUME ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- PRINT_TIME --- --- DESCRIPTION: --- --- This subprogram prints the name of TASK_1 and the current TIME of day. --- - - procedure PRINT_TIME; - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Timer Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp23/config.h b/c/src/ada-tests/sptests/sp23/config.h deleted file mode 100644 index 5e60e5c235..0000000000 --- a/c/src/ada-tests/sptests/sp23/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_PORTS 1 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp23/sp23.adb b/c/src/ada-tests/sptests/sp23/sp23.adb deleted file mode 100644 index ff3d5c0c4c..0000000000 --- a/c/src/ada-tests/sptests/sp23/sp23.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP23 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP23 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP23; - diff --git a/c/src/ada-tests/sptests/sp23/sp23.scn b/c/src/ada-tests/sptests/sp23/sp23.scn deleted file mode 100644 index 1a3af24ac7..0000000000 --- a/c/src/ada-tests/sptests/sp23/sp23.scn +++ /dev/null @@ -1,9 +0,0 @@ -*** TEST 23 *** -INIT - port_create - DP1 - internal = 16#1000# external = 16#2000# -TA1 - port_ident - 16#10001# -TA1 - port_external_to_internal - external: 16#200E# => internal: 16#100E# -TA1 - port_internal_to_external - internal: 16#100E# => external: 16#200E# -TA1 - port_external_to_internal - external: 16#300E# => internal: 16#300E# -TA1 - port_internal_to_external - internal: 16#50E# => external: 16#50E# -TA1 - port_delete - DP1 -*** END OF TEST 23 *** diff --git a/c/src/ada-tests/sptests/sp23/sptest.adb b/c/src/ada-tests/sptests/sp23/sptest.adb deleted file mode 100644 index 0ff783a197..0000000000 --- a/c/src/ada-tests/sptests/sp23/sptest.adb +++ /dev/null @@ -1,179 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 23 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with ADDRESS_IO; -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INTERNAL_AREA : RTEMS.ADDRESS; - EXTERNAL_AREA : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 23 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - SPTEST.PORT_NAME( 1 ) := RTEMS.BUILD_NAME( 'D', 'P', '1', ' ' ); - - INTERNAL_AREA := SPTEST.INTERNAL_PORT_AREA( 0 )'ADDRESS; - EXTERNAL_AREA := SPTEST.EXTERNAL_PORT_AREA( 0 )'ADDRESS; - RTEMS.PORT_CREATE( - SPTEST.PORT_NAME( 1 ), - INTERNAL_AREA, - EXTERNAL_AREA, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.PORT_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_CREATE OF DP1" ); - TEXT_IO.PUT( "INIT - port_create - DP1 - internal = " ); - ADDRESS_IO.PUT( INTERNAL_AREA, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " external = " ); - ADDRESS_IO.PUT( EXTERNAL_AREA, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - DPID : RTEMS.ID; - TO_BE_CONVERTED : RTEMS.ADDRESS; - CONVERTED : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.PORT_IDENT( SPTEST.PORT_NAME( 1 ), DPID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_IDENT" ); - TEXT_IO.PUT( "TA1 - port_ident - " ); - UNSIGNED32_IO.PUT( DPID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.EXTERNAL_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_EXTERNAL_TO_INTERNAL" ); - TEXT_IO.PUT( "TA1 - port_external_to_internal - external: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => internal: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.INTERNAL_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_INTERNAL_TO_EXTERNAL" ); - TEXT_IO.PUT( "TA1 - port_internal_to_external - internal: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => external: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.ABOVE_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_EXTERNAL_TO_INTERNAL" ); - TEXT_IO.PUT( "TA1 - port_external_to_internal - external: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => internal: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.BELOW_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_INTERNAL_TO_EXTERNAL" ); - TEXT_IO.PUT( "TA1 - port_internal_to_external - internal: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => external: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - port_delete - DP1" ); - RTEMS.PORT_DELETE( SPTEST.PORT_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_DELETE" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 23 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp23/sptest.ads b/c/src/ada-tests/sptests/sp23/sptest.ads deleted file mode 100644 index 9c72b05568..0000000000 --- a/c/src/ada-tests/sptests/sp23/sptest.ads +++ /dev/null @@ -1,118 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 23 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with System.Storage_Elements; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS ports created --- by this test. --- - - PORT_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PORT_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used for --- addresses which are below the address space of the port. --- - - BELOW_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00000500#); - - BELOW_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for BELOW_PORT_AREA use at BELOW_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used for --- addresses which are above the address space of the port. --- - - ABOVE_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00003000#); - - ABOVE_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for ABOVE_PORT_AREA use at ABOVE_PORT_AREA_ADDRESS; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Dual Ported Memory Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp24/config.h b/c/src/ada-tests/sptests/sp24/config.h deleted file mode 100644 index ae1c63c601..0000000000 --- a/c/src/ada-tests/sptests/sp24/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 3 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp24/sp24.adb b/c/src/ada-tests/sptests/sp24/sp24.adb deleted file mode 100644 index d060a5308e..0000000000 --- a/c/src/ada-tests/sptests/sp24/sp24.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP24 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP24 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP24; - diff --git a/c/src/ada-tests/sptests/sp24/sp24.scn b/c/src/ada-tests/sptests/sp24/sp24.scn deleted file mode 100644 index 374ef9540b..0000000000 --- a/c/src/ada-tests/sptests/sp24/sp24.scn +++ /dev/null @@ -1,17 +0,0 @@ -*** TEST 24 *** -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA2 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:25 12/31/1988 -TA3 - clock_get - 9: 0:30 12/31/1988 -TA1 - clock_get - 9: 0:30 12/31/1988 -TA2 - clock_get - 9: 0:30 12/31/1988 -*** END OF TEST 24 *** - diff --git a/c/src/ada-tests/sptests/sp24/sptest.adb b/c/src/ada-tests/sptests/sp24/sptest.adb deleted file mode 100644 index b94a27eadb..0000000000 --- a/c/src/ada-tests/sptests/sp24/sptest.adb +++ /dev/null @@ -1,171 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 24 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 24 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - SPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - SPTEST.TIMER_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'M', '3', ' ' ); - - for INDEX in 1 .. 3 - loop - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( INDEX ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( INDEX ), - SPTEST.TIMER_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE LOOP" ); - - end loop; - - for INDEX in 1 .. 3 - loop - - RTEMS.TASK_START( - SPTEST.TASK_ID( INDEX ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- RESUME_TASK --- - - procedure RESUME_TASK ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - TASK_TO_RESUME : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TASK_TO_RESUME := SPTEST.TASK_ID(INTEGER( RTEMS.GET_INDEX( TIMER_ID ) )); - RTEMS.TASK_RESUME( TASK_TO_RESUME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - end RESUME_TASK; - ---PAGE --- --- TASK_1_THROUGH_3 --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - loop - - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( INTEGER( ARGUMENT ) ), - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.RESUME_TASK'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 35 then - TEXT_IO.PUT_LINE( "*** END OF TEST 24 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( INTEGER( TEST_SUPPORT.TASK_NUMBER( TID ) ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( " - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - end loop; - - end TASK_1_THROUGH_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp24/sptest.ads b/c/src/ada-tests/sptests/sp24/sptest.ads deleted file mode 100644 index f664be5bd8..0000000000 --- a/c/src/ada-tests/sptests/sp24/sptest.ads +++ /dev/null @@ -1,82 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 24 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( 1 .. 3 ) of RTEMS.ID; - TIMER_NAME : array ( 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- RESUME_TASK --- --- DESCRIPTION: --- --- This subprogram is scheduled as a timer service routine. When --- it fires it resumes the task which is mapped to this timer. --- - - procedure RESUME_TASK ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TASK_1_THROUGH_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Timer Manager. --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp25/config.h b/c/src/ada-tests/sptests/sp25/config.h deleted file mode 100644 index 5d162bd899..0000000000 --- a/c/src/ada-tests/sptests/sp25/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_REGIONS 1 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp25/sp25.adb b/c/src/ada-tests/sptests/sp25/sp25.adb deleted file mode 100644 index 58e45b339d..0000000000 --- a/c/src/ada-tests/sptests/sp25/sp25.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP25 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP25 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP25; - diff --git a/c/src/ada-tests/sptests/sp25/sp25.scn b/c/src/ada-tests/sptests/sp25/sp25.scn deleted file mode 100644 index 0b0fbcf102..0000000000 --- a/c/src/ada-tests/sptests/sp25/sp25.scn +++ /dev/null @@ -1,29 +0,0 @@ -*** TEST 25 *** -TA1 - region_ident - rnid => 16#10001# -TA1 - region_get_segment - wait on 64 byte segment from region 1 -TA1 - got segment from region 1 - 16#F9B8# -TA1 - region_get_segment - wait on 128 byte segment from region 1 -TA1 - got segment from region 1 - 16#F930# -TA1 - region_get_segment - wait on 256 byte segment from region 1 -TA1 - got segment from region 1 - 16#F828# -TA1 - region_get_segment - wait on 512 byte segment from region 1 -TA1 - got segment from region 1 - 16#F620# -TA1 - region_get_segment - wait on 1024 byte segment from region 1 -TA1 - got segment from region 1 - 16#F218# -TA1 - region_get_segment - wait on 2048 byte segment from region 1 -TA1 - got segment from region 1 - 16#EA10# -TA1 - region_get_segment - wait on 4096 byte segment from region 1 -TA1 - got segment from region 1 - 16#DA08# -TA1 - region_get_segment - wait on 8192 byte segment from region 1 -TA1 - got segment from region 1 - 16#BA00# -<pause> -TA1 - region_return_segment - return segment to region 1 - 16#F828# -TA1 - region_return_segment - return segment to region 1 - 16#F620# -TA1 - region_return_segment - return segment to region 1 - 16#F9B8# -TA1 - region_return_segment - return segment to region 1 - 16#F930# -TA1 - region_return_segment - return segment to region 1 - 16#DA08# -TA1 - region_return_segment - return segment to region 1 - 16#EA10# -TA1 - region_return_segment - return segment to region 1 - 16#BA00# -TA1 - region_return_segment - return segment to region 1 - 16#F218# -TA1 - region_delete - walks heap if debug enabled -*** END OF TEST 25 *** diff --git a/c/src/ada-tests/sptests/sp25/sptest.adb b/c/src/ada-tests/sptests/sp25/sptest.adb deleted file mode 100644 index a9aace5212..0000000000 --- a/c/src/ada-tests/sptests/sp25/sptest.adb +++ /dev/null @@ -1,367 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 25 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 25 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - SPTEST.REGION_NAME( 1 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.AREA_1'ADDRESS, - 64000, - 32, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_1 --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_1'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_1; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RNID : RTEMS.ID; - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_4 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_5 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_6 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_7 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_8 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.REGION_IDENT( SPTEST.REGION_NAME( 1 ), RNID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_IDENT OF RN1" ); - TEXT_IO.PUT( "TA1 - region_ident - rnid => " ); - UNSIGNED32_IO.PUT( RNID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "64 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 64, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "128 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 128, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "256 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 256, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "512 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 512, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "1024 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 1024, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_5, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_5 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "2048 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_6, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_6 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "4096 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 4096, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_7, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_7 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "8192 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 8192, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_8, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_8 ); - TEXT_IO.NEW_LINE; - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_3 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_4 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_1 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_2 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_7 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_7, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_7 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_6 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_6, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_6 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_8 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_8, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_8 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_5 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_5, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_5 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT_LINE( - "TA1 - region_delete - walks heap if debug enabled" - ); - RTEMS.REGION_DELETE( SPTEST.REGION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_DELETE OF RN1" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 25 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp25/sptest.ads b/c/src/ada-tests/sptests/sp25/sptest.ads deleted file mode 100644 index 516421526f..0000000000 --- a/c/src/ada-tests/sptests/sp25/sptest.ads +++ /dev/null @@ -1,103 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 25 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS regions created --- by this test. --- - - REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- The following constant defines the priority of most of the --- RTEMS tasks in this test. This allows one of the tasks to --- easily set itself to a higher priority than the rest. --- - - BASE_PRIORITY : constant RTEMS.TASK_PRIORITY := 140; - --- --- These arrays define the memory areas used for the regions in --- this test. --- - - AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 64000 ) of RTEMS.UNSIGNED8; - for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_ADDRESS_FROM_AREA_1 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_1. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/spsize/spsize.adb b/c/src/ada-tests/sptests/spsize/spsize.adb deleted file mode 100644 index e6da47f2ba..0000000000 --- a/c/src/ada-tests/sptests/spsize/spsize.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SPsize of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SPsize is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SPsize; - diff --git a/c/src/ada-tests/sptests/spsize/sptest.adb b/c/src/ada-tests/sptests/spsize/sptest.adb deleted file mode 100644 index 1080728f8f..0000000000 --- a/c/src/ada-tests/sptests/spsize/sptest.adb +++ /dev/null @@ -1,199 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_TEST_SUPPORT; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST SIZE ***" ); - - SPTEST.PUT_SIZE( - "Tasks", - TRUE, - "maximum_tasks", - RTEMS_TEST_SUPPORT.PER_TASK - ); - - SPTEST.PUT_SIZE( - "Timers", - TRUE, - "maximum_timers", - RTEMS_TEST_SUPPORT.PER_TIMER - ); - - SPTEST.PUT_SIZE( - "Semaphores", - TRUE, - "maximum_semaphores", - RTEMS_TEST_SUPPORT.PER_SEMAPHORE - ); - - SPTEST.PUT_SIZE( - "Message Queues", - TRUE, - "maximum_message_queues", - RTEMS_TEST_SUPPORT.PER_MESSAGE_QUEUE - ); - - SPTEST.PUT_SIZE( - "Messages", - TRUE, - "maximum_messages", - RTEMS_TEST_SUPPORT.PER_MESSAGE - ); - - SPTEST.PUT_SIZE( - "Regions", - TRUE, - "maximum_regions", - RTEMS_TEST_SUPPORT.PER_REGION - ); - - SPTEST.PUT_SIZE( - "Partitions", - TRUE, - "maximum_paritions", - RTEMS_TEST_SUPPORT.PER_PARTITION - ); - - SPTEST.PUT_SIZE( - "Ports", - TRUE, - "maximum_ports", - RTEMS_TEST_SUPPORT.PER_PORT - ); - - SPTEST.PUT_SIZE( - "Periods", - TRUE, - "maximum_periods", - RTEMS_TEST_SUPPORT.PER_PERIOD - ); - - SPTEST.PUT_SIZE( - "Extensions", - TRUE, - "maximum_extensions", - RTEMS_TEST_SUPPORT.PER_EXTENSION - ); - - SPTEST.PUT_SIZE( - "Device Drivers", - TRUE, - "number_of_device_drivers", - RTEMS_TEST_SUPPORT.PER_DRIVER - ); - - SPTEST.PUT_SIZE( - "System Requirements", - FALSE, - REQUIREMENT => RTEMS_TEST_SUPPORT.SYSTEM_REQUIREMENTS - ); - - SPTEST.PUT_SIZE( - "Floating Point Tasks", - TRUE, - "FP attributes", - RTEMS_TEST_SUPPORT.PER_FP_TASK - ); - - TEXT_IO.PUT_LINE( "User's Tasks' Stacks - " ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "Interrupt Stacks - " ); - TEXT_IO.NEW_LINE; - - SPTEST.PUT_SIZE( - "Global object tables", - TRUE, - "maximum_nodes", - RTEMS_TEST_SUPPORT.PER_NODE - ); - - SPTEST.PUT_SIZE( - "Global objects", - TRUE, - "maximum_global_objects", - RTEMS_TEST_SUPPORT.PER_GLOBAL_OBJECT - ); - - SPTEST.PUT_SIZE( - "Proxies", - TRUE, - "maximum_proxies", - RTEMS_TEST_SUPPORT.PER_PROXY - ); - - TEXT_IO.PUT_LINE( "*** END OF TEST SIZE ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - ---PAGE --- --- PUT_SIZE --- - - procedure PUT_SIZE ( - DESCRIPTION : in STRING; - HAS_FIELD_NAME : in BOOLEAN; - FIELD_NAME : in STRING := ""; - REQUIREMENT : in RTEMS.UNSIGNED32 := 0 - ) is - SPACES : constant STRING := " "; - begin - - -- 21 is length of longest description (task's stacks) - - TEXT_IO.PUT( DESCRIPTION ); - TEXT_IO.PUT( SPACES( 1 .. 21 - DESCRIPTION'LENGTH ) ); - TEXT_IO.PUT( " - " ); - if HAS_FIELD_NAME = TRUE then - TEXT_IO.PUT( FIELD_NAME ); - TEXT_IO.PUT( " * " ); - end if; - UNSIGNED32_IO.PUT( REQUIREMENT ); - TEXT_IO.NEW_LINE; - - end PUT_SIZE; - - -end SPTEST; diff --git a/c/src/ada-tests/sptests/spsize/sptest.ads b/c/src/ada-tests/sptests/spsize/sptest.ads deleted file mode 100644 index 312c7e9ead..0000000000 --- a/c/src/ada-tests/sptests/spsize/sptest.ads +++ /dev/null @@ -1,56 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_SIZE --- --- DESCRIPTION: --- --- This procedure outputs the size information about the specified --- object in a standard format. --- - - procedure PUT_SIZE ( - DESCRIPTION : in STRING; - HAS_FIELD_NAME : in BOOLEAN; - FIELD_NAME : in STRING := ""; - REQUIREMENT : in RTEMS.UNSIGNED32 := 0 - ); - -end SPTEST; |