diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-09-20 13:06:58 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-09-20 13:06:58 +0000 |
commit | 7441603540575b6d762411f11ab354ec65495652 (patch) | |
tree | 1ed6b75bfeb90623e37dd78ec68ae004b1c71acf /testsuites/sptests/spcbssched02/init.c | |
parent | 2011-09-20 Petr Benes <benesp16@fel.cvut.cz> (diff) | |
download | rtems-7441603540575b6d762411f11ab354ec65495652.tar.bz2 |
2011-09-20 Petr Benes <benesp16@fel.cvut.cz>
PR 1916/testing
* spcbssched02/init.c, spcbssched02/spcbssched02.scn,
spcbssched02/system.h, spcbssched02/task_periodic.c,
spedfsched03/init.c, spedfsched03/system.h,
spedfsched03/tasks_aperiodic.c: Improve coverage.
Diffstat (limited to 'testsuites/sptests/spcbssched02/init.c')
-rw-r--r-- | testsuites/sptests/spcbssched02/init.c | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/testsuites/sptests/spcbssched02/init.c b/testsuites/sptests/spcbssched02/init.c index 7cb305cd74..412fa30a11 100644 --- a/testsuites/sptests/spcbssched02/init.c +++ b/testsuites/sptests/spcbssched02/init.c @@ -47,6 +47,7 @@ rtems_task Init( puts( "\n\n*** TEST CBS SCHEDULER 2 ***" ); Task_name = rtems_build_name( 'P', 'T', '1', ' ' ); + Task_name2 = rtems_build_name( 'P', 'T', '2', ' ' ); status = rtems_task_create( Task_name, @@ -58,6 +59,16 @@ rtems_task Init( ); directive_failed( status, "rtems_task_create loop" ); + status = rtems_task_create( + Task_name2, + Priority, + RTEMS_MINIMUM_STACK_SIZE * 4, + RTEMS_NO_PREEMPT, + RTEMS_DEFAULT_ATTRIBUTES, + &Task_id2 + ); + directive_failed( status, "rtems_task_create loop" ); + printf( "Init: Initializing the CBS\n" ); if ( rtems_cbs_initialize() ) printf( "ERROR: CBS INITIALIZATION FAILED\n" ); @@ -88,6 +99,8 @@ rtems_task Init( printf( "ERROR: CREATE SERVER FAILED\n" ); if ( rtems_cbs_create_server( ¶ms, NULL, &server_id ) ) printf( "ERROR: CREATE SERVER FAILED\n" ); + if ( rtems_cbs_create_server( ¶ms, NULL, &server_id ) ) + printf( "ERROR: CREATE SERVER FAILED\n" ); if ( rtems_cbs_create_server( ¶ms, NULL, &server_id ) != SCHEDULER_CBS_ERROR_FULL ) printf( "ERROR: CREATE SERVER PASSED UNEXPECTEDLY\n" ); @@ -217,11 +230,25 @@ rtems_task Init( if ( rtems_cbs_initialize() ) printf( "ERROR: CBS INITIALIZATION FAILED\n" ); - /* Start periodic task */ + /* Start periodic tasks */ printf( "Init: Starting periodic task\n" ); status = rtems_task_start( Task_id, Task_Periodic, 1 ); directive_failed( status, "rtems_task_start periodic" ); + status = rtems_task_start( Task_id2, Task_Periodic, 2 ); + directive_failed( status, "rtems_task_start periodic" ); + + rtems_task_wake_after( 130 ); + + printf( "Init: Checking server with a deleted task\n" ); + if ( rtems_cbs_get_execution_time( 0, &exec_time, &abs_time ) ) + printf( "ERROR: GET EXECUTION TIME FAILED\n" ); + if ( rtems_cbs_get_remaining_budget( 0, &remaining_budget) ) + printf( "ERROR: GET REMAINING BUDGET FAILED\n" ); + + if ( rtems_cbs_cleanup() ) + printf( "ERROR: CBS CLEANUP\n" ); - status = rtems_task_delete( RTEMS_SELF ); - directive_failed( status, "rtems_task_delete of RTEMS_SELF" ); + fflush(stdout); + puts( "*** END OF TEST CBS SCHEDULER 2 ***" ); + rtems_test_exit( 0 ); } |