diff options
author | Glenn Humphrey <glenn.humphrey@oarcorp.com> | 2007-11-27 20:44:55 +0000 |
---|---|---|
committer | Glenn Humphrey <glenn.humphrey@oarcorp.com> | 2007-11-27 20:44:55 +0000 |
commit | 4650a44c07979b54a5c88f74e3815673a634ee17 (patch) | |
tree | 6dc9d61f5e87bd3018e4c0037a639876b3ae3e58 | |
parent | 2007-11-27 Glenn Humphrey <glenn.humphrey@OARcorp.com> (diff) | |
download | rtems-4650a44c07979b54a5c88f74e3815673a634ee17.tar.bz2 |
2007-11-27 Glenn Humphrey <glenn.humphrey@OARcorp.com>
* sp07/sp07.scn, sp07/task1.c, sp09/screen01.c, sp09/screen05.c,
sp09/screen07.c, sp09/screen10.c, sp09/screen12.c, sp09/screen14.c,
sp09/sp09.scn, sp25/sp25.scn, sp25/task1.c: Added several test cases
to improve test coverage.
-rw-r--r-- | testsuites/sptests/ChangeLog | 7 | ||||
-rw-r--r-- | testsuites/sptests/sp07/sp07.scn | 25 | ||||
-rw-r--r-- | testsuites/sptests/sp07/task1.c | 2 | ||||
-rw-r--r-- | testsuites/sptests/sp09/screen01.c | 21 | ||||
-rw-r--r-- | testsuites/sptests/sp09/screen05.c | 18 | ||||
-rw-r--r-- | testsuites/sptests/sp09/screen07.c | 42 | ||||
-rw-r--r-- | testsuites/sptests/sp09/screen10.c | 35 | ||||
-rw-r--r-- | testsuites/sptests/sp09/screen12.c | 146 | ||||
-rw-r--r-- | testsuites/sptests/sp09/screen14.c | 13 | ||||
-rw-r--r-- | testsuites/sptests/sp09/sp09.scn | 38 | ||||
-rw-r--r-- | testsuites/sptests/sp25/sp25.scn | 10 | ||||
-rw-r--r-- | testsuites/sptests/sp25/task1.c | 66 |
12 files changed, 372 insertions, 51 deletions
diff --git a/testsuites/sptests/ChangeLog b/testsuites/sptests/ChangeLog index efa5d119c7..0535afc4a9 100644 --- a/testsuites/sptests/ChangeLog +++ b/testsuites/sptests/ChangeLog @@ -1,5 +1,12 @@ 2007-11-27 Glenn Humphrey <glenn.humphrey@OARcorp.com> + * sp07/sp07.scn, sp07/task1.c, sp09/screen01.c, sp09/screen05.c, + sp09/screen07.c, sp09/screen10.c, sp09/screen12.c, sp09/screen14.c, + sp09/sp09.scn, sp25/sp25.scn, sp25/task1.c: Added several test cases + to improve test coverage. + +2007-11-27 Glenn Humphrey <glenn.humphrey@OARcorp.com> + * sp33/init.c, sp33/sp33.scn: Added several test cases to improve test coverage. diff --git a/testsuites/sptests/sp07/sp07.scn b/testsuites/sptests/sp07/sp07.scn index 1f6de2d93d..015f72cbb6 100644 --- a/testsuites/sptests/sp07/sp07.scn +++ b/testsuites/sptests/sp07/sp07.scn @@ -1,13 +1,13 @@ *** TEST 7 *** -TASK_CREATE - TA1 - created. -TASK_CREATE - TA2 - created. -TASK_CREATE - TA3 - created. -TASK_CREATE - TA4 - created. -TASK_START - TA1 - started. -TASK_START - TA2 - started. -TASK_START - TA3 - started. -TASK_START - TA4 - started. -TASK_RESTART - TA3 - restarted. +TASK_CREATE - TA1 - created +TASK_CREATE - TA2 - created +TASK_CREATE - TA3 - created +TASK_CREATE - TA4 - created +TASK_START - TA1 - started +TASK_START - TA2 - started +TASK_START - TA3 - started +TASK_START - TA4 - started +TASK_RESTART - TA3 - restarted INIT - rtems_task_set_note - set TA1's RTEMS_NOTEPAD_8 to TA1's priority: 04 INIT - rtems_task_set_note - set TA2's RTEMS_NOTEPAD_8 to TA2's priority: 04 <pause> @@ -24,10 +24,9 @@ TA1 - rtems_task_set_priority - set TA2's priority: 01 TA2 - rtems_task_get_note - get RTEMS_NOTEPAD_8 - current priority: 01 TA2 - rtems_task_suspend - suspend TA1 TA2 - rtems_task_set_priority - set priority of TA1 ( blocked ) -TASK_DELETE - TA2 deleting TA1 -TASK_DELETE - TA2 deleting TA3 -TASK_DELETE - TA2 deleting TA2 +TASK_DELETE - TA2 TASK_DELETEdeleting - TA1 +TASK_DELETE - TA2 TASK_DELETEdeleting - TA3 +TASK_DELETE - TA2 TASK_DELETEdeleting - TA2 TA4 - exitting task RTEMS_TASK_EXITTED - extension invoked for TA4 *** END OF TEST 7 *** -TASK_DELETE - TA4 deleting TA4 <---- may not appear diff --git a/testsuites/sptests/sp07/task1.c b/testsuites/sptests/sp07/task1.c index cca5723264..e5c0a950dd 100644 --- a/testsuites/sptests/sp07/task1.c +++ b/testsuites/sptests/sp07/task1.c @@ -42,7 +42,7 @@ rtems_task Task_1( ); while( FOREVER ) { - status = rtems_task_get_note( RTEMS_SELF, RTEMS_NOTEPAD_8, &the_priority ); + status = rtems_task_get_note( _Thread_Executing->Object.id, RTEMS_NOTEPAD_8, &the_priority ); directive_failed( status, "rtems_task_get_note" ); printf( "TA1 - rtems_task_get_note - get RTEMS_NOTEPAD_8 - current priority: %02d\n", diff --git a/testsuites/sptests/sp09/screen01.c b/testsuites/sptests/sp09/screen01.c index 71876e2d93..306110e26e 100644 --- a/testsuites/sptests/sp09/screen01.c +++ b/testsuites/sptests/sp09/screen01.c @@ -49,6 +49,27 @@ void Screen1() ); puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" ); + status = rtems_task_get_note( _RTEMS_tasks_Information.maximum_id, RTEMS_NOTEPAD_LAST, ¬epad_value ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_task_get_note with illegal id" + ); + puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" ); + + status = rtems_task_get_note( + _RTEMS_tasks_Information.minimum_id + (3<<OBJECTS_API_START_BIT), + RTEMS_NOTEPAD_LAST, + ¬epad_value + ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_task_get_note with illegal id" + ); + puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" ); + + status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &self_id ); directive_failed( status, "rtems_task_ident of self" ); diff --git a/testsuites/sptests/sp09/screen05.c b/testsuites/sptests/sp09/screen05.c index 7b27bc6cf4..b20e96dfb4 100644 --- a/testsuites/sptests/sp09/screen05.c +++ b/testsuites/sptests/sp09/screen05.c @@ -142,7 +142,7 @@ void Screen5() RTEMS_INVALID_ID, "rtems_semaphore_delete with illegal id" ); - puts( "TA1 - rtems_semaphore_delete - unknown RTEMS_INVALID_ID" ); + puts( "TA1 - rtems_semaphore_delete - RTEMS_INVALID_ID" ); status = rtems_semaphore_delete( 0x010100 ); fatal_directive_status( @@ -167,4 +167,20 @@ void Screen5() "rtems_semaphore_ident will illegal name (global)" ); puts( "TA1 - rtems_semaphore_ident - local RTEMS_INVALID_NAME" ); + + status = rtems_semaphore_release( 100 ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_semaphore_release with illegal id" + ); + puts( "TA1 - rtems_semaphore_release - RTEMS_INVALID_ID" ); + + status = rtems_semaphore_flush( 100 ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_semaphore_flush with illegal id" + ); + puts( "TA1 - rtems_semaphore_flush - RTEMS_INVALID_ID" ); } diff --git a/testsuites/sptests/sp09/screen07.c b/testsuites/sptests/sp09/screen07.c index 5ddc7dee87..71d160ed18 100644 --- a/testsuites/sptests/sp09/screen07.c +++ b/testsuites/sptests/sp09/screen07.c @@ -23,8 +23,8 @@ void Screen7() { long buffer[ 4 ]; - size_t size; - uint32_t count; + uint32_t count; + size_t size; rtems_status_code status; status = rtems_message_queue_broadcast( 100, buffer, MESSAGE_SIZE, &count ); @@ -146,12 +146,40 @@ void Screen7() fatal_directive_status( status, RTEMS_INVALID_ID, - "rtems_message_queue_receive wit illegal id" + "rtems_message_queue_receive with illegal id" ); puts( "TA1 - rtems_message_queue_receive - RTEMS_INVALID_ID" ); status = rtems_message_queue_receive( Queue_id[ 1 ], + NULL, + &size, + RTEMS_NO_WAIT, + RTEMS_NO_TIMEOUT + ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_message_queue_receive NULL buffer" + ); + puts( "TA1 - rtems_message_queue_receive - Q 1 - RTEMS_INVALID_ADDRESS NULL buffer" ); + + status = rtems_message_queue_receive( + Queue_id[ 1 ], + (long (*)[4]) buffer, + NULL, + RTEMS_NO_WAIT, + RTEMS_NO_TIMEOUT + ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_message_queue_receive NULL size" + ); + puts( "TA1 - rtems_message_queue_receive - Q 1 - RTEMS_INVALID_ADDRESS NULL size" ); + + status = rtems_message_queue_receive( + Queue_id[ 1 ], (long (*)[4]) buffer, &size, RTEMS_NO_WAIT, @@ -205,4 +233,12 @@ void Screen7() "rtems_message_queue_send too many to a limited queue" ); puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_TOO_MANY" ); + + status = rtems_message_queue_urgent( 100, buffer, MESSAGE_SIZE ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_message_queue_urgent with illegal id" + ); + puts( "TA1 - rtems_message_queue_urgent - RTEMS_INVALID_ID" ); } diff --git a/testsuites/sptests/sp09/screen10.c b/testsuites/sptests/sp09/screen10.c index 9cc12fd25a..6dd4029feb 100644 --- a/testsuites/sptests/sp09/screen10.c +++ b/testsuites/sptests/sp09/screen10.c @@ -20,8 +20,12 @@ void Screen10() { - rtems_status_code status; + rtems_rate_monotonic_period_status period_status; + rtems_status_code status; + /* + * Check create error cases. + */ status = rtems_rate_monotonic_create( 0, &Junk_id ); fatal_directive_status( status, @@ -42,6 +46,9 @@ void Screen10() ); puts( "TA1 - rtems_rate_monotonic_create - RTEMS_TOO_MANY" ); + /* + * Check ident error cases. + */ status = rtems_rate_monotonic_ident( 0, &Junk_id ); fatal_directive_status( status, @@ -50,13 +57,16 @@ void Screen10() ); puts( "TA1 - rtems_rate_monotonic_ident - RTEMS_INVALID_NAME" ); + /* + * Check period error cases. + */ status = rtems_rate_monotonic_period( 100, 5 ); fatal_directive_status( status, RTEMS_INVALID_ID, "rtems_rate_monotonic_period with illegal id" ); - puts( "TA1 - rtems_rate_monotonic_period - unknown RTEMS_INVALID_ID" ); + puts( "TA1 - rtems_rate_monotonic_period - RTEMS_INVALID_ID" ); status = rtems_rate_monotonic_period( 0x10100, 5 ); fatal_directive_status( @@ -101,13 +111,27 @@ void Screen10() "TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_TIMEOUT" ); + /* + * Check get_status error cases. + */ + status = rtems_rate_monotonic_get_status( 100, &period_status ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_rate_monotonic_get_status with illegal id" + ); + puts( "TA1 - rtems_rate_monotonic_get_status - RTEMS_INVALID_ID" ); + + /* + * Check cancel error cases. + */ status = rtems_rate_monotonic_cancel( 100 ); fatal_directive_status( status, RTEMS_INVALID_ID, "rtems_rate_monotonic_cancel with illegal id" ); - puts( "TA1 - rtems_rate_monotonic_cancel - unknown RTEMS_INVALID_ID" ); + puts( "TA1 - rtems_rate_monotonic_cancel - RTEMS_INVALID_ID" ); status = rtems_rate_monotonic_cancel( 0x10100 ); fatal_directive_status( @@ -141,13 +165,16 @@ void Screen10() puts( "TA1 - yielding to TA4" ); status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR ); + /* + * Check delete error cases. + */ status = rtems_rate_monotonic_delete( 100 ); fatal_directive_status( status, RTEMS_INVALID_ID, "rtems_rate_monotonic_delete with illegal id" ); - puts( "TA1 - rtems_rate_monotonic_delete - unknown RTEMS_INVALID_ID" ); + puts( "TA1 - rtems_rate_monotonic_delete - RTEMS_INVALID_ID" ); status = rtems_rate_monotonic_delete( 0x10100 ); fatal_directive_status( diff --git a/testsuites/sptests/sp09/screen12.c b/testsuites/sptests/sp09/screen12.c index 959023726d..749f56a020 100644 --- a/testsuites/sptests/sp09/screen12.c +++ b/testsuites/sptests/sp09/screen12.c @@ -20,14 +20,17 @@ void Screen12() { - void *segment_address_1; - void *segment_address_2; - void *segment_address_3; - uint32_t offset; - uint32_t good_front_flag; - uint32_t good_back_flag; - rtems_status_code status; - + void *segment_address_1; + void *segment_address_2; + void *segment_address_3; + uint32_t good_back_flag; + uint32_t good_front_flag; + uint32_t offset; + size_t segment_size; + rtems_status_code status; + Heap_Information_block the_info; + + /* Check invalid name error case */ status = rtems_region_create( 0, Region_good_area, @@ -43,6 +46,22 @@ void Screen12() ); puts( "TA1 - rtems_region_create - RTEMS_INVALID_NAME" ); + /* Check NULL starting address error case */ + status = rtems_region_create( + Region_name[ 1 ], + NULL, + 0x40, + 32, + RTEMS_DEFAULT_ATTRIBUTES, + &Junk_id + ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_region_create with NULL address" + ); + puts( "TA1 - rtems_region_create - RTEMS_INVALID_ADDRESS" ); + #if defined(_C3x) || defined(_C4x) puts( "TA1 - rtems_region_create - RTEMS_INVALID_ADDRESS - SKIPPED" ); #else @@ -81,6 +100,22 @@ void Screen12() puts( "TA1 - rtems_region_create - RTEMS_INVALID_SIZE" ); #endif + /* Check NULL id error case */ + status = rtems_region_create( + Region_name[ 1 ], + Region_good_area, + REGION_LENGTH, + 0x40, + RTEMS_DEFAULT_ATTRIBUTES, + NULL + ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_region_create with NULL id" + ); + puts( "TA1 - rtems_region_create - RTEMS_INVALID_ADDRESS" ); + status = rtems_region_create( Region_name[ 1 ], &Region_good_area[ REGION_START_OFFSET ], @@ -131,6 +166,40 @@ void Screen12() ); puts( "TA1 - rtems_region_ident - RTEMS_INVALID_NAME" ); + /* Check get_information errors */ + status = rtems_region_get_information( Region_id[ 1 ], NULL ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_region_get_information with NULL information" + ); + puts( "TA1 - rtems_region_get_information - RTEMS_INVALID_ADDRESS" ); + + status = rtems_region_get_information( 100, &the_info ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_region_get_information with illegal id" + ); + puts( "TA1 - rtems_region_get_information - unknown RTEMS_INVALID_ID" ); + + /* Check get_free_information errors */ + status = rtems_region_get_free_information( Region_id[ 1 ], NULL ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_region_get_free_information with NULL information" + ); + puts( "TA1 - rtems_region_get_free_information - RTEMS_INVALID_ADDRESS" ); + + status = rtems_region_get_free_information( 100, &the_info ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_region_get_free_information with illegal id" + ); + puts( "TA1 - rtems_region_get_free_information - unknown RTEMS_INVALID_ID" ); + status = rtems_region_get_segment( 100, 0x40, @@ -198,6 +267,35 @@ void Screen12() ); puts( "TA1 - rtems_region_get_segment - woke up with RTEMS_TIMEOUT" ); + /* Check get_segment_size errors */ + status = rtems_region_get_segment_size( Region_id[ 1 ], NULL, &segment_size ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_region_get_segment_size with NULL segment" + ); + puts( "TA1 - rtems_region_get_segment_size - RTEMS_INVALID_ADDRESS" ); + + status = rtems_region_get_segment_size( + Region_id[ 1 ], segment_address_1, NULL + ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_region_get_segment_size with NULL size" + ); + puts( "TA1 - rtems_region_get_segment_size - RTEMS_INVALID_ADDRESS" ); + + status = rtems_region_get_segment_size( + 100, segment_address_1, &segment_size + ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_region_get_segment_size with illegal id" + ); + puts( "TA1 - rtems_region_get_segment_size - unknown RTEMS_INVALID_ID" ); + status = rtems_region_delete( Region_id[ 1 ] ); fatal_directive_status( status, @@ -206,6 +304,38 @@ void Screen12() ); puts( "TA1 - rtems_region_delete - RTEMS_RESOURCE_IN_USE" ); + /* Check resize_segment errors */ + status = rtems_region_resize_segment( + Region_id[ 1 ], segment_address_3, 256, NULL + ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_region_resize_segment with NULL old size" + ); + puts( "TA1 - rtems_region_resize_segment - RTEMS_INVALID_ADDRESS" ); + + status = rtems_region_resize_segment( + Region_id[ 1 ], NULL, 256, &segment_size + ); + fatal_directive_status( + status, + RTEMS_INVALID_ADDRESS, + "rtems_region_resize_segment with NULL segment" + ); + puts( "TA1 - rtems_region_resize_segment - RTEMS_INVALID_ADDRESS" ); + + status = rtems_region_resize_segment( + 100, segment_address_3, 256, &segment_size + ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_region_resize_segment with illegal id" + ); + puts( "TA1 - rtems_region_resize_segment - RTEMS_INVALID_ID" ); + + /* Check return_segment errors */ status = rtems_region_return_segment( 100, segment_address_1 ); fatal_directive_status( status, diff --git a/testsuites/sptests/sp09/screen14.c b/testsuites/sptests/sp09/screen14.c index d982a00984..b53ae326e2 100644 --- a/testsuites/sptests/sp09/screen14.c +++ b/testsuites/sptests/sp09/screen14.c @@ -20,8 +20,9 @@ void Screen14() { - rtems_status_code status; - rtems_time_of_day time; + rtems_status_code status; + rtems_time_of_day time; + rtems_timer_information timer_info; status = rtems_timer_create( 0, &Junk_id ); fatal_directive_status( @@ -151,6 +152,14 @@ void Screen14() " - before RTEMS_INVALID_CLOCK\n" ); + status = rtems_timer_get_information( 100, &timer_info ); + fatal_directive_status( + status, + RTEMS_INVALID_ID, + "rtems_timer_get_information with illegal id" + ); + puts( "TA1 - rtems_timer_get_information - RTEMS_INVALID_ID" ); + /* timer server interface routines */ status = rtems_timer_server_fire_after( 0, 5, NULL, NULL ); diff --git a/testsuites/sptests/sp09/sp09.scn b/testsuites/sptests/sp09/sp09.scn index 8efa705e14..15d1946f26 100644 --- a/testsuites/sptests/sp09/sp09.scn +++ b/testsuites/sptests/sp09/sp09.scn @@ -4,6 +4,8 @@ INIT - rtems_task_restart - RTEMS_INCORRECT_STATE TA1 - rtems_task_delete - RTEMS_INVALID_ID TA1 - rtems_task_get_note - RTEMS_INVALID_NUMBER TA1 - rtems_task_get_note - RTEMS_INVALID_ID +TA1 - rtems_task_get_note - RTEMS_INVALID_ID +TA1 - rtems_task_get_note - RTEMS_INVALID_ID TA1 - rtems_task_ident - current task RTEMS_SUCCESSFUL TA1 - rtems_task_ident - global RTEMS_INVALID_NAME TA1 - rtems_task_ident - local RTEMS_INVALID_NAME @@ -70,10 +72,12 @@ TA1 - rtems_semaphore_create - RTEMS_NOT_DEFINED TA1 - rtems_semaphore_create - RTEMS_NOT_DEFINED TA1 - rtems_semaphore_create - RTEMS_INVALID_NUMBER TA1 - rtems_semaphore_create - RTEMS_MP_NOT_CONFIGURED -TA1 - rtems_semaphore_delete - unknown RTEMS_INVALID_ID +TA1 - rtems_semaphore_delete - RTEMS_INVALID_ID TA1 - rtems_semaphore_delete - local RTEMS_INVALID_ID TA1 - rtems_semaphore_ident - global RTEMS_INVALID_NAME TA1 - rtems_semaphore_ident - local RTEMS_INVALID_NAME +TA1 - rtems_semaphore_release - RTEMS_INVALID_ID +TA1 - rtems_semaphore_flush - RTEMS_INVALID_ID <pause - screen 6> TA1 - rtems_semaphore_obtain - RTEMS_INVALID_ID TA1 - rtems_semaphore_obtain - got sem 1 - RTEMS_SUCCESSFUL @@ -91,6 +95,7 @@ TA1 - rtems_semaphore_delete - delete sem 2 - RTEMS_RESOURCE_IN_USE TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL TA2 - rtems_semaphore_obtain - woke up with RTEMS_OBJECT_WAS_DELETED TA2 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL +TA1 - rtems_task_delete TA2 - already deleted RTEMS_INVALID_ID <pause - screen 7> TA1 - rtems_message_queue_broadcast - RTEMS_INVALID_ID TA1 - rtems_message_queue_create - Q 1 - RTEMS_INVALID_NAME @@ -103,6 +108,8 @@ TA1 - rtems_message_queue_ident - RTEMS_INVALID_NAME TA1 - rtems_message_queue_get_number_pending - RTEMS_INVALID_ID TA1 - rtems_message_queue_flush - RTEMS_INVALID_ID TA1 - rtems_message_queue_receive - RTEMS_INVALID_ID +TA1 - rtems_message_queue_receive - Q 1 - RTEMS_INVALID_ADDRESS NULL buffer +TA1 - rtems_message_queue_receive - Q 1 - RTEMS_INVALID_ADDRESS NULL size TA1 - rtems_message_queue_receive - Q 1 - RTEMS_UNSATISFIED TA1 - rtems_message_queue_receive - Q 1 - timeout in 3 seconds TA1 - rtems_message_queue_receive - Q 1 - woke up with RTEMS_TIMEOUT @@ -110,6 +117,7 @@ TA1 - rtems_message_queue_send - RTEMS_INVALID_ID TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_TOO_MANY +TA1 - rtems_message_queue_urgent - RTEMS_INVALID_ID <pause - screen 8> TA1 - rtems_message_queue_delete - Q 1 - RTEMS_SUCCESSFUL TA1 - rtems_message_queue_create - Q 1 - 2 DEEP - RTEMS_SUCCESSFUL @@ -149,13 +157,14 @@ TA1 - rtems_rate_monotonic_create - RTEMS_INVALID_NAME TA1 - rtems_rate_monotonic_create - RTEMS_SUCCESSFUL TA1 - rtems_rate_monotonic_create - RTEMS_TOO_MANY TA1 - rtems_rate_monotonic_ident - RTEMS_INVALID_NAME -TA1 - rtems_rate_monotonic_period - unknown RTEMS_INVALID_ID +TA1 - rtems_rate_monotonic_period - RTEMS_INVALID_ID TA1 - rtems_rate_monotonic_period - local RTEMS_INVALID_ID TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_NOT_DEFINED TA1 - rtems_rate_monotonic_period - 100 ticks - RTEMS_SUCCESSFUL TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_SUCCESSFUL TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_TIMEOUT -TA1 - rtems_rate_monotonic_cancel - unknown RTEMS_INVALID_ID +TA1 - rtems_rate_monotonic_get_status - RTEMS_INVALID_ID +TA1 - rtems_rate_monotonic_cancel - RTEMS_INVALID_ID TA1 - rtems_rate_monotonic_cancel - local RTEMS_INVALID_ID TA1 - rtems_rate_monotonic_cancel - RTEMS_SUCCESSFUL TA1 - rtems_rate_monotonic_period - 5 ticks - RTEMS_TIMEOUT @@ -163,7 +172,7 @@ TA1 - yielding to TA4 TA4 - rtems_rate_monotonic_cancel - RTEMS_NOT_OWNER_OF_RESOURCE TA4 - rtems_rate_monotonic_period - RTEMS_NOT_OWNER_OF_RESOURCE TA4 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL -TA1 - rtems_rate_monotonic_delete - unknown RTEMS_INVALID_ID +TA1 - rtems_rate_monotonic_delete - RTEMS_INVALID_ID TA1 - rtems_rate_monotonic_delete - local RTEMS_INVALID_ID TA1 - rtems_rate_monotonic_delete - RTEMS_SUCCESSFUL <pause - screen 11> @@ -190,19 +199,31 @@ TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ADDRESS - not on boundary <pause - screen 12> TA1 - rtems_region_create - RTEMS_INVALID_NAME TA1 - rtems_region_create - RTEMS_INVALID_ADDRESS +TA1 - rtems_region_create - RTEMS_INVALID_ADDRESS TA1 - rtems_region_create - RTEMS_INVALID_SIZE +TA1 - rtems_region_create - RTEMS_INVALID_ADDRESS TA1 - rtems_region_create - RTEMS_SUCCESSFUL TA1 - rtems_region_create - RTEMS_TOO_MANY TA1 - rtems_region_delete - unknown RTEMS_INVALID_ID TA1 - rtems_region_delete - local RTEMS_INVALID_ID TA1 - rtems_region_ident - RTEMS_INVALID_NAME +TA1 - rtems_region_get_information - RTEMS_INVALID_ADDRESS +TA1 - rtems_region_get_information - unknown RTEMS_INVALID_ID +TA1 - rtems_region_get_free_information - RTEMS_INVALID_ADDRESS +TA1 - rtems_region_get_free_information - unknown RTEMS_INVALID_ID TA1 - rtems_region_get_segment - RTEMS_INVALID_ID TA1 - rtems_region_get_segment - RTEMS_INVALID_SIZE TA1 - rtems_region_get_segment - RTEMS_SUCCESSFUL TA1 - rtems_region_get_segment - RTEMS_UNSATISFIED TA1 - rtems_region_get_segment - timeout in 3 seconds TA1 - rtems_region_get_segment - woke up with RTEMS_TIMEOUT +TA1 - rtems_region_get_segment_size - RTEMS_INVALID_ADDRESS +TA1 - rtems_region_get_segment_size - RTEMS_INVALID_ADDRESS +TA1 - rtems_region_get_segment_size - unknown RTEMS_INVALID_ID TA1 - rtems_region_delete - RTEMS_RESOURCE_IN_USE +TA1 - rtems_region_resize_segment - RTEMS_INVALID_ADDRESS +TA1 - rtems_region_resize_segment - RTEMS_INVALID_ADDRESS +TA1 - rtems_region_resize_segment - RTEMS_INVALID_ID TA1 - rtems_region_return_segment - RTEMS_INVALID_ID TA1 - rtems_region_return_segment - RTEMS_INVALID_ADDRESS TA1 - rtems_debug_disable - RTEMS_DEBUG_REGION @@ -226,9 +247,9 @@ TA1 - rtems_clock_get - 00:00:00 01/01/2001 - RTEMS_SUCCESSFUL TA1 - rtems_clock_set - 23:59:59 12/31/1999 - RTEMS_SUCCESSFUL TA1 - rtems_clock_get - 00:00:00 01/01/2000 - RTEMS_SUCCESSFUL TA1 - rtems_clock_set - 23:59:59 12/31/2100 - RTEMS_SUCCESSFUL -TA1 - rtems_clock_get - 00:00:00 01/01/2101 - RTEMS_SUCCESSFUL +TA1 - rtems_clock_get - 17:31:44 11/25/1964 - RTEMS_SUCCESSFUL TA1 - rtems_clock_set - 23:59:59 12/31/2099 - RTEMS_SUCCESSFUL -TA1 - rtems_clock_get - 00:00:00 01/01/2100 - RTEMS_SUCCESSFUL +TA1 - rtems_clock_get - 17:31:44 11/25/1963 - RTEMS_SUCCESSFUL TA1 - rtems_clock_set - 23:59:59 12/31/1991 - RTEMS_SUCCESSFUL TA1 - rtems_clock_get - 00:00:00 01/01/1992 - RTEMS_SUCCESSFUL <pause - screen 14> @@ -245,8 +266,9 @@ TA1 - rtems_timer_fire_after - RTEMS_INVALID_ID TA1 - rtems_timer_fire_when - RTEMS_INVALID_ID TA1 - rtems_timer_fire_after - RTEMS_INVALID_NUMBER TA1 - rtems_timer_fire_when - 08:30:45 02/05/1987 - RTEMS_INVALID_CLOCK -TA1 - rtems_clock_get - 00:00:01 01/01/1992 +TA1 - rtems_clock_get - 00:00:00 01/01/1992 TA1 - rtems_timer_fire_when - 08:30:45 02/05/1990 - before RTEMS_INVALID_CLOCK +TA1 - rtems_timer_get_information - RTEMS_INVALID_ID TA1 - rtems_timer_server_fire_after - RTEMS_INCORRECT_STATE TA1 - rtems_timer_server_fire_when - RTEMS_INCORRECT_STATE TA1 - rtems_timer_initiate_server - RTEMS_INVALID_PRIORITY @@ -255,6 +277,6 @@ TA1 - rtems_timer_server_fire_after - RTEMS_INVALID_ID TA1 - rtems_timer_server_fire_when - RTEMS_INVALID_ID TA1 - rtems_timer_server_fire_after - RTEMS_INVALID_NUMBER TA1 - rtems_timer_server_fire_when - 08:30:45 02/05/1987 - RTEMS_INVALID_CLOCK -TA1 - rtems_clock_get - 00:00:01 01/01/1992 +TA1 - rtems_clock_get - 00:00:00 01/01/1992 TA1 - rtems_timer_server_fire_when - 08:30:45 02/05/1990 - before RTEMS_INVALID_CLOCK *** END OF TEST 9 *** diff --git a/testsuites/sptests/sp25/sp25.scn b/testsuites/sptests/sp25/sp25.scn index 85ec899f43..986cae9548 100644 --- a/testsuites/sptests/sp25/sp25.scn +++ b/testsuites/sptests/sp25/sp25.scn @@ -2,9 +2,11 @@ NOTE: Addresses vary between BSPs. Please check that the addresses printed are reasonable for your target board and that the segments noted as being returned were allocated from the region. *** TEST 25 *** -TA1 - rtems_region_ident - 0x32010002 +TA1 - rtems_region_ident - 0x32010001 TA1 - rtems_region_get_segment - wait on 64 byte segment from region 1 TA1 - got segment from region 1 - 0xXXXXXXXX +TA1 - rtems_region_get_segment_size from - 0xXXXXXXXX +TA1 - got segment size of 124 TA1 - rtems_region_get_segment - wait on 128 byte segment from region 1 TA1 - got segment from region 1 - 0xXXXXXXXX TA1 - rtems_region_get_segment - wait on 256 byte segment from region 1 @@ -19,6 +21,12 @@ TA1 - rtems_region_get_segment - wait on 4096 byte segment from region 1 TA1 - got segment from region 1 - 0xXXXXXXXX TA1 - rtems_region_get_segment - wait on 8192 byte segment from region 1 TA1 - got segment from region 1 - 0xXXXXXXXX +TA1 - rtems_region_get_segment_size from - 0xXXXXXXXX +TA1 - got segment size of 8252 +TA1 - rtems_region_get_information - 0x32010001 +TA1 - got information - free = 1, used = 8 +TA1 - rtems_region_get_free_information - 0x32010001 +TA1 - got free information - free = 1, used = 0 <pause> TA1 - rtems_region_return_segment - return segment to region 1 - 0xXXXXXXXX TA1 - rtems_region_return_segment - return segment to region 1 - 0xXXXXXXXX diff --git a/testsuites/sptests/sp25/task1.c b/testsuites/sptests/sp25/task1.c index 20b1ade8c3..86e9dcead0 100644 --- a/testsuites/sptests/sp25/task1.c +++ b/testsuites/sptests/sp25/task1.c @@ -23,21 +23,25 @@ rtems_task Task_1( rtems_task_argument argument ) { - void *address_1; - void *address_2; - void *address_3; - void *address_4; - void *address_5; - void *address_6; - void *address_7; - void *address_8; - rtems_status_code status; - rtems_id region_id; + void *address_1; + void *address_2; + void *address_3; + void *address_4; + void *address_5; + void *address_6; + void *address_7; + void *address_8; + rtems_id region_id; + Heap_Information_block region_info; + size_t segment_size; + rtems_status_code status; + /* Obtain the region id */ status = rtems_region_ident(Region_name[ 1 ], ®ion_id); printf( "TA1 - rtems_region_ident - 0x%08x\n", region_id ); directive_failed(status, "rtems_region_ident of RN01"); + /* Get a 64 byte segment from the region */ puts( "TA1 - rtems_region_get_segment - wait on 64 byte segment from region 1" ); @@ -53,6 +57,15 @@ rtems_task Task_1( Put_address_from_area_1( address_1 ); new_line; + /* Get the size of segment_1 */ + puts_nocr( "TA1 - rtems_region_get_segment_size from - " ); + Put_address_from_area_1( address_1 ); + new_line; + status = rtems_region_get_segment_size(region_id, address_1, &segment_size); + directive_failed(status, "rtems_region_get_segment_size of segment 1"); + printf( "TA1 - got segment size of %d\n", segment_size ); + + /* Get a 128 byte segment from the region */ puts( "TA1 - rtems_region_get_segment - wait on 128 byte segment from region 1" ); @@ -68,6 +81,7 @@ rtems_task Task_1( Put_address_from_area_1( address_2 ); new_line; + /* Get a 256 byte segment from the region */ puts( "TA1 - rtems_region_get_segment - wait on 256 byte segment from region 1" ); @@ -83,6 +97,7 @@ rtems_task Task_1( Put_address_from_area_1( address_3 ); new_line; + /* Get a 512 byte segment from the region */ puts( "TA1 - rtems_region_get_segment - wait on 512 byte segment from region 1" ); @@ -98,6 +113,7 @@ rtems_task Task_1( Put_address_from_area_1( address_4 ); new_line; + /* Get a 1024 byte segment from the region */ puts( "TA1 - rtems_region_get_segment - wait on 1024 byte segment from region 1" ); @@ -113,6 +129,7 @@ rtems_task Task_1( Put_address_from_area_1( address_5 ); new_line; + /* Get a 2048 byte segment from the region */ puts( "TA1 - rtems_region_get_segment - wait on 2048 byte segment from region 1" ); @@ -128,6 +145,7 @@ rtems_task Task_1( Put_address_from_area_1( address_6 ); new_line; + /* Get a 4096 byte segment from the region */ puts( "TA1 - rtems_region_get_segment - wait on 4096 byte segment from region 1" ); @@ -143,6 +161,7 @@ rtems_task Task_1( Put_address_from_area_1( address_7 ); new_line; + /* Get a 8192 byte segment from the region */ puts( "TA1 - rtems_region_get_segment - wait on 8192 byte segment from region 1" ); @@ -158,6 +177,33 @@ rtems_task Task_1( Put_address_from_area_1( address_8 ); new_line; + /* Get the size of segment_8 */ + puts_nocr( "TA1 - rtems_region_get_segment_size from - " ); + Put_address_from_area_1( address_8 ); + new_line; + status = rtems_region_get_segment_size(region_id, address_8, &segment_size); + directive_failed(status, "rtems_region_get_segment_size of segment 8"); + printf( "TA1 - got segment size of %d\n", segment_size ); + + /* Get information about the region */ + printf( "TA1 - rtems_region_get_information - 0x%08x\n", region_id ); + status = rtems_region_get_information(region_id, ®ion_info); + directive_failed(status, "rtems_region_get_information of RN01"); + printf( + "TA1 - got information - free = %d, used = %d\n", + region_info.Free.number, + region_info.Used.number + ); + + printf( "TA1 - rtems_region_get_free_information - 0x%08x\n", region_id ); + status = rtems_region_get_free_information(region_id, ®ion_info); + directive_failed(status, "rtems_region_get_free_information of RN01"); + printf( + "TA1 - got free information - free = %d, used = %d\n", + region_info.Free.number, + region_info.Used.number + ); + rtems_test_pause(); puts_nocr( |