diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-01-03 20:51:34 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-01-03 20:51:34 +0000 |
commit | 3d9f688e242fb73c10b2e945d2a4302420f35aa9 (patch) | |
tree | a8e470bad67db71de2168b48a6fcddedf1934af0 /testsuites/samples | |
parent | 2003-01-03 Jitendra Vegiraju <jvegiraju@netscape.net> (diff) | |
download | rtems-3d9f688e242fb73c10b2e945d2a4302420f35aa9.tar.bz2 |
2002-10-31 Chris Johns <ccj@acm.org>
* 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.
Diffstat (limited to 'testsuites/samples')
-rw-r--r-- | testsuites/samples/ChangeLog | 7 | ||||
-rw-r--r-- | testsuites/samples/unlimited/system.h | 4 | ||||
-rw-r--r-- | testsuites/samples/unlimited/test1.c | 11 |
3 files changed, 14 insertions, 8 deletions
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 <ccj@acm.org> + + * 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 <corsepiu@faw.uni-ulm.de> * 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" ); } - - - - - |