summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Humphrey <glenn.humphrey@oarcorp.com>2007-11-27 20:44:55 +0000
committerGlenn Humphrey <glenn.humphrey@oarcorp.com>2007-11-27 20:44:55 +0000
commit4650a44c07979b54a5c88f74e3815673a634ee17 (patch)
tree6dc9d61f5e87bd3018e4c0037a639876b3ae3e58
parent2007-11-27 Glenn Humphrey <glenn.humphrey@OARcorp.com> (diff)
downloadrtems-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/ChangeLog7
-rw-r--r--testsuites/sptests/sp07/sp07.scn25
-rw-r--r--testsuites/sptests/sp07/task1.c2
-rw-r--r--testsuites/sptests/sp09/screen01.c21
-rw-r--r--testsuites/sptests/sp09/screen05.c18
-rw-r--r--testsuites/sptests/sp09/screen07.c42
-rw-r--r--testsuites/sptests/sp09/screen10.c35
-rw-r--r--testsuites/sptests/sp09/screen12.c146
-rw-r--r--testsuites/sptests/sp09/screen14.c13
-rw-r--r--testsuites/sptests/sp09/sp09.scn38
-rw-r--r--testsuites/sptests/sp25/sp25.scn10
-rw-r--r--testsuites/sptests/sp25/task1.c66
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, &notepad_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,
+ &notepad_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 ], &region_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, &region_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, &region_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(