From 3d9f688e242fb73c10b2e945d2a4302420f35aa9 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 3 Jan 2003 20:51:34 +0000 Subject: 2002-10-31 Chris Johns * unlimited/test1.c: PR296. Only fails if more tasks than allowed can be created. * unlimited/system.h: PR296. Reference the number of tasks in the configuration table rather than a hardcoded number. --- testsuites/samples/ChangeLog | 7 +++++++ testsuites/samples/unlimited/system.h | 4 +++- testsuites/samples/unlimited/test1.c | 11 ++++------- 3 files changed, 14 insertions(+), 8 deletions(-) (limited to 'testsuites/samples') diff --git a/testsuites/samples/ChangeLog b/testsuites/samples/ChangeLog index 6f178b39f2..48d52d8fe4 100644 --- a/testsuites/samples/ChangeLog +++ b/testsuites/samples/ChangeLog @@ -1,3 +1,10 @@ +2002-10-31 Chris Johns + + * unlimited/test1.c: PR296. Only fails if more tasks than allowed + can be created. + * unlimited/system.h: PR296. Reference the number of tasks in the + configuration table rather than a hardcoded number. + 2002-11-05 Ralf Corsepius * configure.ac: Unconditionally check for CXX (Hack to bug in 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" ); } - - - - - -- cgit v1.2.3