diff options
Diffstat (limited to 'c/src/ada-tests/sptests/sp13')
-rw-r--r-- | c/src/ada-tests/sptests/sp13/config.h | 36 | ||||
-rw-r--r-- | c/src/ada-tests/sptests/sp13/sp13.adb | 57 | ||||
-rw-r--r-- | c/src/ada-tests/sptests/sp13/sp13.scn | 66 | ||||
-rw-r--r-- | c/src/ada-tests/sptests/sp13/sptest.adb | 723 | ||||
-rw-r--r-- | c/src/ada-tests/sptests/sp13/sptest.ads | 132 |
5 files changed, 0 insertions, 1014 deletions
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; |