summaryrefslogtreecommitdiffstats
path: root/testsuites/tmtests/tm16
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-12-14 18:38:45 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-12-14 18:38:45 +0000
commit4389287a3964ae5b8e08f5268823e832272c78e1 (patch)
treee6eb439c43b388701c3a47908f78108abf290517 /testsuites/tmtests/tm16
parent2008-12-14 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-4389287a3964ae5b8e08f5268823e832272c78e1.tar.bz2
2008-12-14 Joel Sherrill <joel.sherrill@oarcorp.com>
* tm01/task1.c, tm02/task1.c, tm03/task1.c, tm04/task1.c, tm05/task1.c, tm06/task1.c, tm07/task1.c, tm08/task1.c, tm09/task1.c, tm10/task1.c, tm11/task1.c, tm12/task1.c, tm13/task1.c, tm14/task1.c, tm16/task1.c, tm17/task1.c, tm18/task1.c, tm19/task1.c, tm20/task1.c, tm21/task1.c, tm23/task1.c, tm24/task1.c, tm25/task1.c, tm26/task1.c, tm27/task1.c, tm28/task1.c, tm29/task1.c, tmoverhd/testtask.c: Run all tests successfully with maxixum number of priorities as 16 instead of 256. This was done by temporarily modifying the score priority.h maximum. This allowed testing of all API code to ensure that it worked properly with a reduced number of priorities. Most modifications were to switch from hard-coded maximum to using the API provided methods to determine maximum number of priority levels.
Diffstat (limited to 'testsuites/tmtests/tm16')
-rw-r--r--testsuites/tmtests/tm16/task1.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/testsuites/tmtests/tm16/task1.c b/testsuites/tmtests/tm16/task1.c
index c5645a5e4f..2f1cc1981b 100644
--- a/testsuites/tmtests/tm16/task1.c
+++ b/testsuites/tmtests/tm16/task1.c
@@ -1,6 +1,5 @@
/*
- *
- * COPYRIGHT (c) 1989-1999.
+ * COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -27,6 +26,8 @@ rtems_task High_task(
rtems_task_argument argument
);
+int operation_count = OPERATION_COUNT;
+
rtems_task Init(
rtems_task_argument argument
)
@@ -40,7 +41,7 @@ rtems_task Init(
status = rtems_task_create(
rtems_build_name( 'T', 'E', 'S', 'T' ),
- 251,
+ RTEMS_MAXIMUM_PRIORITY - 1,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
@@ -61,7 +62,7 @@ rtems_task test_init(
{
rtems_task_priority priority;
rtems_status_code status;
- uint32_t index;
+ uint32_t index;
rtems_task_entry task_entry;
/* As each task is started, it preempts this task and
@@ -69,9 +70,11 @@ rtems_task test_init(
* this loop all created tasks are blocked.
*/
- priority = 250;
+ priority = RTEMS_MAXIMUM_PRIORITY - 2;
+ if ( OPERATION_COUNT > RTEMS_MAXIMUM_PRIORITY - 2 )
+ operation_count = RTEMS_MAXIMUM_PRIORITY - 2;
- for( index = 0 ; index <= OPERATION_COUNT ; index++ ) {
+ for( index = 0 ; index < operation_count ; index++ ) {
status = rtems_task_create(
rtems_build_name( 'M', 'I', 'D', ' ' ),
priority,
@@ -82,8 +85,8 @@ rtems_task test_init(
);
directive_failed( status, "rtems_task_create LOOP" );
- if ( index == OPERATION_COUNT ) task_entry = High_task;
- else task_entry = Middle_tasks;
+ if ( index == operation_count-1 ) task_entry = High_task;
+ else task_entry = Middle_tasks;
status = rtems_task_start( Task_id[ index ], task_entry, 0 );
directive_failed( status, "rtems_task_start LOOP" );
@@ -137,7 +140,7 @@ rtems_task High_task(
put_time(
"rtems_event_send: task readied -- preempts caller",
end_time,
- OPERATION_COUNT,
+ operation_count - 1,
0,
CALLING_OVERHEAD_EVENT_SEND
);