diff options
Diffstat (limited to 'testsuites/samples/unlimited')
-rw-r--r-- | testsuites/samples/unlimited/system.h | 4 | ||||
-rw-r--r-- | testsuites/samples/unlimited/test1.c | 11 |
2 files changed, 7 insertions, 8 deletions
diff --git a/testsuites/samples/unlimited/system.h b/testsuites/samples/unlimited/system.h index 46e3991a65..f689847870 100644 --- a/testsuites/samples/unlimited/system.h +++ b/testsuites/samples/unlimited/system.h @@ -46,7 +46,9 @@ void test3(); #define CONFIGURE_RTEMS_INIT_TASKS_TABLE -#define TASK_ALLOCATION_SIZE (5) +#define TASK_ALLOCATION_SIZE \ + (rtems_configuration_get_rtems_api_configuration()->maximum_tasks & \ + ~RTEMS_UNLIMITED_OBJECTS) #define CONFIGURE_MAXIMUM_TASKS rtems_resource_unlimited(TASK_ALLOCATION_SIZE) #define CONFIGURE_EXTRA_TASK_STACKS (62 * RTEMS_MINIMUM_STACK_SIZE) diff --git a/testsuites/samples/unlimited/test1.c b/testsuites/samples/unlimited/test1.c index 5b13c301de..a441b9953c 100644 --- a/testsuites/samples/unlimited/test1.c +++ b/testsuites/samples/unlimited/test1.c @@ -27,6 +27,7 @@ void test1() boolean auto_extend; rtems_status_code result; rtems_unsigned32 task_count = 0; + rtems_unsigned32 expected_count; Objects_Information *the_information; char c1 = 'a'; @@ -45,7 +46,8 @@ void test1() _Objects_Information_table[OBJECTS_CLASSIC_API][OBJECTS_RTEMS_TASKS]; auto_extend = the_information->auto_extend; the_information->auto_extend = FALSE; - + expected_count = the_information->inactive; + while (task_count < MAX_TASKS) { rtems_name name; @@ -86,7 +88,7 @@ void test1() if (task_count >= MAX_TASKS) printf( "\nMAX_TASKS too small for work-space size, please make larger !!\n\n" ); - if (task_count != (TASK_ALLOCATION_SIZE - 1)) { + if (task_count != expected_count) { printf( " FAIL1 : the number of tasks does not equal the expected size -\n" " task created = %i, required number = %i\n", task_count, TASK_ALLOCATION_SIZE); @@ -99,8 +101,3 @@ void test1() printf( " TEST1 : completed\n" ); } - - - - - |