Fixed problems which prevented the test from compiling and running to

completion.
This commit is contained in:
Joel Sherrill
1997-06-03 15:12:23 +00:00
parent d348ad96d5
commit c1ef8346c3
3 changed files with 157 additions and 85 deletions

View File

@@ -97,7 +97,7 @@ TA1 - task_delete TA2 - already deleted INVALID_ID
TA1 - message_queue_broadcast - INVALID_ID TA1 - message_queue_broadcast - INVALID_ID
TA1 - message_queue_create - Q 1 - INVALID_NAME TA1 - message_queue_create - Q 1 - INVALID_NAME
TA1 - message_queue_create - Q 1 - MP_NOT_CONFIGURED TA1 - message_queue_create - Q 1 - MP_NOT_CONFIGURED
TA1 - message_queue_create - Q 1 - LIMIT - SUCCESSFUL TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL
TA1 - message_queue_create - Q 2 - TOO_MANY TA1 - message_queue_create - Q 2 - TOO_MANY
TA1 - message_queue_delete - unknown INVALID_ID TA1 - message_queue_delete - unknown INVALID_ID
TA1 - message_queue_delete - local INVALID_ID TA1 - message_queue_delete - local INVALID_ID
@@ -113,17 +113,18 @@ TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL
TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY
<pause - screen 8> <pause - screen 8>
TA1 - message_queue_delete - Q 1 - SUCCESSFUL TA1 - message_queue_delete - Q 1 - SUCCESSFUL
TA1 - message_queue_create - Q 1 - LIMIT - 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 1 TO Q 1 - SUCCESSFUL
TA1 - message_queue_send - BUFFER 2 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_send - BUFFER 3 TO Q 1 - TOO_MANY
TA1 - message_queue_delete - Q 1 - SUCCESSFUL TA1 - message_queue_delete - Q 1 - SUCCESSFUL
TA1 - message_queue_create - Q 1 - LIMIT - 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 1 TO Q 1 - SUCCESSFUL
TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL
TA1 - message_queue_send - BUFFER 3 TO Q 1 - UNSATISFIED 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_delete - Q 1 - SUCCESSFUL
TA1 - message_queue_create - Q 1 - LIMIT - SUCCESSFUL TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL
TA1 - task_start - start TA3 - SUCCESSFUL TA1 - task_start - start TA3 - SUCCESSFUL
TA1 - task_wake_after - yield processor - SUCCESSFUL TA1 - task_wake_after - yield processor - SUCCESSFUL
TA3 - message_queue_receive - Q 1 - WAIT FOREVER TA3 - message_queue_receive - Q 1 - WAIT FOREVER

View File

@@ -584,7 +584,7 @@ package body SPTEST is
RTEMS.TASK_CREATE( RTEMS.TASK_CREATE(
TASK_NAME, TASK_NAME,
1, 1,
RTEMS.CONFIGURATION.WORKSPACE_SIZE, RTEMS.CONFIGURATION.WORK_SPACE_SIZE,
RTEMS.DEFAULT_MODES, RTEMS.DEFAULT_MODES,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
@@ -877,7 +877,6 @@ package body SPTEST is
procedure SCREEN_5 procedure SCREEN_5
is is
COUNT : RTEMS.UNSIGNED32;
STATUS : RTEMS.STATUS_CODES; STATUS : RTEMS.STATUS_CODES;
begin begin
@@ -885,6 +884,7 @@ package body SPTEST is
0, 0,
1, 1,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
RTEMS.NO_PRIORITY,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
STATUS STATUS
); );
@@ -899,6 +899,7 @@ package body SPTEST is
SPTEST.SEMAPHORE_NAME( 1 ), SPTEST.SEMAPHORE_NAME( 1 ),
1, 1,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
RTEMS.NO_PRIORITY,
SPTEST.SEMAPHORE_ID( 1 ), SPTEST.SEMAPHORE_ID( 1 ),
STATUS STATUS
); );
@@ -912,6 +913,7 @@ package body SPTEST is
SPTEST.SEMAPHORE_NAME( 2 ), SPTEST.SEMAPHORE_NAME( 2 ),
1, 1,
RTEMS.BINARY_SEMAPHORE, RTEMS.BINARY_SEMAPHORE,
RTEMS.NO_PRIORITY,
SPTEST.SEMAPHORE_ID( 2 ), SPTEST.SEMAPHORE_ID( 2 ),
STATUS STATUS
); );
@@ -921,13 +923,19 @@ package body SPTEST is
); );
TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 2 - SUCCESSFUL" ); TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 2 - SUCCESSFUL" );
RTEMS.SEMAPHORE_CREATE( loop
SPTEST.SEMAPHORE_NAME( 3 ), RTEMS.SEMAPHORE_CREATE(
1, SPTEST.SEMAPHORE_NAME( 3 ),
RTEMS.DEFAULT_ATTRIBUTES, 1,
SPTEST.JUNK_ID, RTEMS.DEFAULT_ATTRIBUTES,
STATUS RTEMS.NO_PRIORITY,
); SPTEST.JUNK_ID,
STATUS
);
exit when not RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.SUCCESSFUL );
end loop;
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
STATUS, STATUS,
RTEMS.TOO_MANY, RTEMS.TOO_MANY,
@@ -939,6 +947,7 @@ package body SPTEST is
SPTEST.SEMAPHORE_NAME( 1 ), SPTEST.SEMAPHORE_NAME( 1 ),
1, 1,
RTEMS.INHERIT_PRIORITY + RTEMS.BINARY_SEMAPHORE + RTEMS.FIFO, RTEMS.INHERIT_PRIORITY + RTEMS.BINARY_SEMAPHORE + RTEMS.FIFO,
RTEMS.NO_PRIORITY,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
STATUS STATUS
); );
@@ -953,6 +962,7 @@ package body SPTEST is
SPTEST.SEMAPHORE_NAME( 1 ), SPTEST.SEMAPHORE_NAME( 1 ),
1, 1,
RTEMS.INHERIT_PRIORITY + RTEMS.COUNTING_SEMAPHORE + RTEMS.PRIORITY, RTEMS.INHERIT_PRIORITY + RTEMS.COUNTING_SEMAPHORE + RTEMS.PRIORITY,
RTEMS.NO_PRIORITY,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
STATUS STATUS
); );
@@ -967,6 +977,7 @@ package body SPTEST is
SPTEST.SEMAPHORE_NAME( 1 ), SPTEST.SEMAPHORE_NAME( 1 ),
2, 2,
RTEMS.BINARY_SEMAPHORE, RTEMS.BINARY_SEMAPHORE,
RTEMS.NO_PRIORITY,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
STATUS STATUS
); );
@@ -981,6 +992,7 @@ package body SPTEST is
SPTEST.SEMAPHORE_NAME( 3 ), SPTEST.SEMAPHORE_NAME( 3 ),
1, 1,
RTEMS.GLOBAL, RTEMS.GLOBAL,
RTEMS.NO_PRIORITY,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
STATUS STATUS
); );
@@ -1045,7 +1057,6 @@ package body SPTEST is
procedure SCREEN_6 procedure SCREEN_6
is is
COUNT : RTEMS.UNSIGNED32;
STATUS : RTEMS.STATUS_CODES; STATUS : RTEMS.STATUS_CODES;
begin begin
@@ -1187,15 +1198,19 @@ package body SPTEST is
procedure SCREEN_7 procedure SCREEN_7
is is
BUFFER : RTEMS.BUFFER; BUFFER : SPTEST.BUFFER;
BUFFER_POINTER : RTEMS.BUFFER_POINTER; BUFFER_POINTER : RTEMS.ADDRESS;
COUNT : RTEMS.UNSIGNED32; COUNT : RTEMS.UNSIGNED32;
MESSAGE_SIZE : RTEMS.UNSIGNED32;
STATUS : RTEMS.STATUS_CODES; STATUS : RTEMS.STATUS_CODES;
begin begin
BUFFER_POINTER := BUFFER'ADDRESS;
RTEMS.MESSAGE_QUEUE_BROADCAST( RTEMS.MESSAGE_QUEUE_BROADCAST(
100, 100,
BUFFER_POINTER, BUFFER_POINTER,
16,
COUNT, COUNT,
STATUS STATUS
); );
@@ -1208,11 +1223,10 @@ package body SPTEST is
"TA1 - message_queue_broadcast - INVALID_ID" "TA1 - message_queue_broadcast - INVALID_ID"
); );
BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS );
RTEMS.MESSAGE_QUEUE_CREATE( RTEMS.MESSAGE_QUEUE_CREATE(
0, 0,
3, 3,
16,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
STATUS STATUS
@@ -1229,6 +1243,7 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_CREATE( RTEMS.MESSAGE_QUEUE_CREATE(
SPTEST.QUEUE_NAME( 1 ), SPTEST.QUEUE_NAME( 1 ),
1, 1,
16,
RTEMS.GLOBAL, RTEMS.GLOBAL,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
STATUS STATUS
@@ -1244,7 +1259,8 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_CREATE( RTEMS.MESSAGE_QUEUE_CREATE(
SPTEST.QUEUE_NAME( 1 ), SPTEST.QUEUE_NAME( 1 ),
2, 2,
RTEMS.LIMIT, 16,
RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
STATUS STATUS
); );
@@ -1253,12 +1269,13 @@ package body SPTEST is
"MESSAGE_QUEUE_CREATE SUCCESSFUL" "MESSAGE_QUEUE_CREATE SUCCESSFUL"
); );
TEXT_IO.PUT_LINE( TEXT_IO.PUT_LINE(
"TA1 - message_queue_create - Q 1 - LIMIT - SUCCESSFUL" "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL"
); );
RTEMS.MESSAGE_QUEUE_CREATE( RTEMS.MESSAGE_QUEUE_CREATE(
SPTEST.QUEUE_NAME( 2 ), SPTEST.QUEUE_NAME( 2 ),
1, 1,
16,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
STATUS STATUS
@@ -1318,6 +1335,7 @@ package body SPTEST is
BUFFER_POINTER, BUFFER_POINTER,
RTEMS.DEFAULT_OPTIONS, RTEMS.DEFAULT_OPTIONS,
RTEMS.NO_TIMEOUT, RTEMS.NO_TIMEOUT,
MESSAGE_SIZE,
STATUS STATUS
); );
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
@@ -1332,6 +1350,7 @@ package body SPTEST is
BUFFER_POINTER, BUFFER_POINTER,
RTEMS.NO_WAIT, RTEMS.NO_WAIT,
RTEMS.NO_TIMEOUT, RTEMS.NO_TIMEOUT,
MESSAGE_SIZE,
STATUS STATUS
); );
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
@@ -1351,6 +1370,7 @@ package body SPTEST is
BUFFER_POINTER, BUFFER_POINTER,
RTEMS.DEFAULT_OPTIONS, RTEMS.DEFAULT_OPTIONS,
3 * TEST_SUPPORT.TICKS_PER_SECOND, 3 * TEST_SUPPORT.TICKS_PER_SECOND,
MESSAGE_SIZE,
STATUS STATUS
); );
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
@@ -1362,7 +1382,7 @@ package body SPTEST is
"TA1 - message_queue_receive - Q 1 - woke up with TIMEOUT" "TA1 - message_queue_receive - Q 1 - woke up with TIMEOUT"
); );
RTEMS.MESSAGE_QUEUE_SEND( 100, BUFFER_POINTER, STATUS ); RTEMS.MESSAGE_QUEUE_SEND( 100, BUFFER_POINTER, 16, STATUS );
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
STATUS, STATUS,
RTEMS.INVALID_ID, RTEMS.INVALID_ID,
@@ -1373,6 +1393,7 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_SEND( RTEMS.MESSAGE_QUEUE_SEND(
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
BUFFER_POINTER, BUFFER_POINTER,
16,
STATUS STATUS
); );
TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" );
@@ -1383,6 +1404,7 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_SEND( RTEMS.MESSAGE_QUEUE_SEND(
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
BUFFER_POINTER, BUFFER_POINTER,
16,
STATUS STATUS
); );
TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" );
@@ -1393,6 +1415,7 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_SEND( RTEMS.MESSAGE_QUEUE_SEND(
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
BUFFER_POINTER, BUFFER_POINTER,
16,
STATUS STATUS
); );
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
@@ -1413,12 +1436,12 @@ package body SPTEST is
procedure SCREEN_8 procedure SCREEN_8
is is
BUFFER : RTEMS.BUFFER; BUFFER : SPTEST.BUFFER;
BUFFER_POINTER : RTEMS.BUFFER_POINTER; BUFFER_POINTER : RTEMS.ADDRESS;
STATUS : RTEMS.STATUS_CODES; STATUS : RTEMS.STATUS_CODES;
begin begin
BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); BUFFER_POINTER := BUFFER'ADDRESS;
RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS );
TEST_SUPPORT.DIRECTIVE_FAILED( TEST_SUPPORT.DIRECTIVE_FAILED(
@@ -1432,7 +1455,8 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_CREATE( RTEMS.MESSAGE_QUEUE_CREATE(
SPTEST.QUEUE_NAME( 1 ), SPTEST.QUEUE_NAME( 1 ),
2, 2,
RTEMS.LIMIT, 16,
RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
STATUS STATUS
); );
@@ -1441,12 +1465,13 @@ package body SPTEST is
"MESSAGE_QUEUE_CREATE SUCCESSFUL" "MESSAGE_QUEUE_CREATE SUCCESSFUL"
); );
TEXT_IO.PUT_LINE( TEXT_IO.PUT_LINE(
"TA1 - message_queue_create - Q 1 - LIMIT - SUCCESSFUL" "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL"
); );
RTEMS.MESSAGE_QUEUE_SEND( RTEMS.MESSAGE_QUEUE_SEND(
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
BUFFER_POINTER, BUFFER_POINTER,
16,
STATUS STATUS
); );
TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" );
@@ -1457,6 +1482,7 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_SEND( RTEMS.MESSAGE_QUEUE_SEND(
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
BUFFER_POINTER, BUFFER_POINTER,
16,
STATUS STATUS
); );
TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" );
@@ -1467,6 +1493,7 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_SEND( RTEMS.MESSAGE_QUEUE_SEND(
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
BUFFER_POINTER, BUFFER_POINTER,
16,
STATUS STATUS
); );
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
@@ -1490,7 +1517,8 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_CREATE( RTEMS.MESSAGE_QUEUE_CREATE(
SPTEST.QUEUE_NAME( 1 ), SPTEST.QUEUE_NAME( 1 ),
3, 3,
RTEMS.LIMIT, 16,
RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
STATUS STATUS
); );
@@ -1499,12 +1527,13 @@ package body SPTEST is
"MESSAGE_QUEUE_CREATE SUCCESSFUL" "MESSAGE_QUEUE_CREATE SUCCESSFUL"
); );
TEXT_IO.PUT_LINE( TEXT_IO.PUT_LINE(
"TA1 - message_queue_create - Q 1 - LIMIT - SUCCESSFUL" "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL"
); );
RTEMS.MESSAGE_QUEUE_SEND( RTEMS.MESSAGE_QUEUE_SEND(
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
BUFFER_POINTER, BUFFER_POINTER,
16,
STATUS STATUS
); );
TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" );
@@ -1515,6 +1544,7 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_SEND( RTEMS.MESSAGE_QUEUE_SEND(
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
BUFFER_POINTER, BUFFER_POINTER,
16,
STATUS STATUS
); );
TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" );
@@ -1525,15 +1555,27 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_SEND( RTEMS.MESSAGE_QUEUE_SEND(
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
BUFFER_POINTER, 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 STATUS
); );
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
STATUS, STATUS,
RTEMS.UNSATISFIED, RTEMS.TOO_MANY,
"MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE"
); );
TEXT_IO.PUT_LINE( TEXT_IO.PUT_LINE(
"TA1 - message_queue_send - BUFFER 3 TO Q 1 - UNSATISFIED" "TA1 - message_queue_send - BUFFER 4 TO Q 1 - TOO_MANY"
); );
RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS );
@@ -1548,7 +1590,8 @@ package body SPTEST is
RTEMS.MESSAGE_QUEUE_CREATE( RTEMS.MESSAGE_QUEUE_CREATE(
SPTEST.QUEUE_NAME( 1 ), SPTEST.QUEUE_NAME( 1 ),
2, 2,
RTEMS.LIMIT, 16,
RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.QUEUE_ID( 1 ), SPTEST.QUEUE_ID( 1 ),
STATUS STATUS
); );
@@ -1557,7 +1600,7 @@ package body SPTEST is
"MESSAGE_QUEUE_CREATE SUCCESSFUL" "MESSAGE_QUEUE_CREATE SUCCESSFUL"
); );
TEXT_IO.PUT_LINE( TEXT_IO.PUT_LINE(
"TA1 - message_queue_create - Q 1 - LIMIT - SUCCESSFUL" "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL"
); );
TEXT_IO.PUT_LINE( TEXT_IO.PUT_LINE(
@@ -2249,7 +2292,7 @@ package body SPTEST is
RTEMS.REGION_CREATE( RTEMS.REGION_CREATE(
0, 0,
SPTEST.REGION_GOOD_AREA'ADDRESS, SPTEST.REGION_GOOD_AREA'ADDRESS,
128, 16#40#,
32, 32,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
@@ -2265,7 +2308,7 @@ package body SPTEST is
RTEMS.REGION_CREATE( RTEMS.REGION_CREATE(
SPTEST.REGION_NAME( 1 ), SPTEST.REGION_NAME( 1 ),
SPTEST.REGION_BAD_AREA'ADDRESS, SPTEST.REGION_BAD_AREA'ADDRESS,
128, 16#40#,
32, 32,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
@@ -2281,7 +2324,7 @@ package body SPTEST is
RTEMS.REGION_CREATE( RTEMS.REGION_CREATE(
SPTEST.REGION_NAME( 1 ), SPTEST.REGION_NAME( 1 ),
SPTEST.REGION_GOOD_AREA'ADDRESS, SPTEST.REGION_GOOD_AREA'ADDRESS,
128, 16#40#,
34, 34,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
@@ -2298,7 +2341,7 @@ package body SPTEST is
SPTEST.REGION_NAME( 1 ), SPTEST.REGION_NAME( 1 ),
SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET )'ADDRESS, SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET )'ADDRESS,
SPTEST.REGION_LENGTH, SPTEST.REGION_LENGTH,
128, 16#40#,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.REGION_ID( 1 ), SPTEST.REGION_ID( 1 ),
STATUS STATUS
@@ -2309,8 +2352,8 @@ package body SPTEST is
RTEMS.REGION_CREATE( RTEMS.REGION_CREATE(
SPTEST.REGION_NAME( 1 ), SPTEST.REGION_NAME( 1 ),
SPTEST.REGION_GOOD_AREA'ADDRESS, SPTEST.REGION_GOOD_AREA'ADDRESS,
128, SPTEST.REGION_LENGTH,
32, 16#40#,
RTEMS.DEFAULT_ATTRIBUTES, RTEMS.DEFAULT_ATTRIBUTES,
SPTEST.JUNK_ID, SPTEST.JUNK_ID,
STATUS STATUS
@@ -2348,7 +2391,7 @@ package body SPTEST is
RTEMS.REGION_GET_SEGMENT( RTEMS.REGION_GET_SEGMENT(
100, 100,
128, 16#40#,
RTEMS.DEFAULT_OPTIONS, RTEMS.DEFAULT_OPTIONS,
RTEMS.NO_TIMEOUT, RTEMS.NO_TIMEOUT,
SEGMENT_ADDRESS_1, SEGMENT_ADDRESS_1,
@@ -2363,7 +2406,7 @@ package body SPTEST is
RTEMS.REGION_GET_SEGMENT( RTEMS.REGION_GET_SEGMENT(
SPTEST.REGION_ID( 1 ), SPTEST.REGION_ID( 1 ),
RTEMS.UNSIGNED32'LAST, (SPTEST.REGION_GOOD_AREA'SIZE / 8) * 2,
RTEMS.DEFAULT_OPTIONS, RTEMS.DEFAULT_OPTIONS,
RTEMS.NO_TIMEOUT, RTEMS.NO_TIMEOUT,
SEGMENT_ADDRESS_1, SEGMENT_ADDRESS_1,
@@ -2389,7 +2432,7 @@ package body SPTEST is
RTEMS.REGION_GET_SEGMENT( RTEMS.REGION_GET_SEGMENT(
SPTEST.REGION_ID( 1 ), SPTEST.REGION_ID( 1 ),
384, SPTEST.REGION_LENGTH / 2,
RTEMS.NO_WAIT, RTEMS.NO_WAIT,
RTEMS.NO_TIMEOUT, RTEMS.NO_TIMEOUT,
SEGMENT_ADDRESS_2, SEGMENT_ADDRESS_2,
@@ -2459,52 +2502,65 @@ package body SPTEST is
TEXT_IO.PUT_LINE( "TA1 - debug_disable - DEBUG_REGION" ); TEXT_IO.PUT_LINE( "TA1 - debug_disable - DEBUG_REGION" );
RTEMS.DEBUG_DISABLE( RTEMS.DEBUG_REGION ); RTEMS.DEBUG_DISABLE( RTEMS.DEBUG_REGION );
OFFSET := RTEMS.SUBTRACT( OFFSET := 0;
SEGMENT_ADDRESS_1, GOOD_BACK_FLAG := 0;
SPTEST.REGION_GOOD_AREA'ADDRESS GOOD_FRONT_FLAG := 0;
) / 4;
-- bad FRONT_FLAG error TEXT_IO.PUT_LINE(
"TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED"
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( TEXT_IO.PUT_LINE(
"TA1 - region_return_segment - INVALID_ADDRESS" "TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED"
); );
SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG;
-- bad BACK_FLAG error -- OFFSET := RTEMS.SUBTRACT(
-- SEGMENT_ADDRESS_1,
GOOD_BACK_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 2 ); -- SPTEST.REGION_GOOD_AREA'ADDRESS
SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := 1024; -- ) / 4;
--
RTEMS.REGION_RETURN_SEGMENT( --
SPTEST.REGION_ID( 1 ), -- -- bad FRONT_FLAG error
SEGMENT_ADDRESS_1, --
STATUS -- GOOD_FRONT_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 1 );
); -- SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG + 2;
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --
STATUS, -- RTEMS.REGION_RETURN_SEGMENT(
RTEMS.INVALID_ADDRESS, -- SPTEST.REGION_ID( 1 ),
"REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" -- SEGMENT_ADDRESS_1,
); -- STATUS
TEXT_IO.PUT_LINE( -- );
"TA1 - region_return_segment - INVALID_ADDRESS" -- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(
); -- STATUS,
-- RTEMS.INVALID_ADDRESS,
SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := GOOD_BACK_FLAG; -- "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" ); TEXT_IO.PUT_LINE( "TA1 - debug_enable - DEBUG_REGION" );
RTEMS.DEBUG_ENABLE( RTEMS.DEBUG_REGION ); RTEMS.DEBUG_ENABLE( RTEMS.DEBUG_REGION );
@@ -3067,12 +3123,13 @@ package body SPTEST is
procedure TASK_3 ( procedure TASK_3 (
ARGUMENT : in RTEMS.TASK_ARGUMENT ARGUMENT : in RTEMS.TASK_ARGUMENT
) is ) is
BUFFER : RTEMS.BUFFER; BUFFER : SPTEST.BUFFER;
BUFFER_POINTER : RTEMS.BUFFER_POINTER; BUFFER_POINTER : RTEMS.ADDRESS;
MESSAGE_SIZE : RTEMS.UNSIGNED32;
STATUS : RTEMS.STATUS_CODES; STATUS : RTEMS.STATUS_CODES;
begin begin
BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); BUFFER_POINTER := BUFFER'ADDRESS;
TEXT_IO.PUT_LINE( TEXT_IO.PUT_LINE(
"TA3 - message_queue_receive - Q 1 - WAIT FOREVER" "TA3 - message_queue_receive - Q 1 - WAIT FOREVER"
@@ -3082,6 +3139,7 @@ package body SPTEST is
BUFFER_POINTER, BUFFER_POINTER,
RTEMS.DEFAULT_OPTIONS, RTEMS.DEFAULT_OPTIONS,
RTEMS.NO_TIMEOUT, RTEMS.NO_TIMEOUT,
MESSAGE_SIZE,
STATUS STATUS
); );
TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(

View File

@@ -27,6 +27,19 @@ with System.Storage_Elements;
package SPTEST is 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 -- These arrays contain the IDs and NAMEs of all RTEMS tasks created
-- by this test. -- by this test.