diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-12-04 14:08:51 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-12-04 14:08:51 +0000 |
commit | bb14405df298451374683a127c9219aaa63a84b3 (patch) | |
tree | ed03c6a1ee4431095432e2618d0a797046c6febe /testsuites/sptests/sp31 | |
parent | 2009-12-04 Ralf Corsépius <ralf.corsepius@rtems.org> (diff) | |
download | rtems-bb14405df298451374683a127c9219aaa63a84b3.tar.bz2 |
2009-12-04 Sebastian Huber <Sebastian.Huber@embedded-brains.de>
* sp31/sp31.scn, sp31/task1.c, spintrcritical17/init.c: New test
cases. Updated copyright notice.
Diffstat (limited to 'testsuites/sptests/sp31')
-rw-r--r-- | testsuites/sptests/sp31/sp31.scn | 12 | ||||
-rw-r--r-- | testsuites/sptests/sp31/task1.c | 71 |
2 files changed, 82 insertions, 1 deletions
diff --git a/testsuites/sptests/sp31/sp31.scn b/testsuites/sptests/sp31/sp31.scn index e9b74969ed..9db60d23b2 100644 --- a/testsuites/sptests/sp31/sp31.scn +++ b/testsuites/sptests/sp31/sp31.scn @@ -47,6 +47,16 @@ TA1 - rtems_timer_server_fire_when - timer 1 in 3 seconds TA1 - rtems_task_wake_after - 1 second TA1 - rtems_clock_get_tod - 09:00:11 12/31/1988 TA1 - rtems_timer_cancel - timer 1 +TA1 - rtems_timer_server_fire_when - timer 1 in 3 seconds +TA1 - rtems_timer_server_fire_when - timer 2 in 3 seconds +TA1 - rtems_task_wake_after - 1 second +TA1 - rtems_timer_server_fire_when - timer 2 in 3 seconds +TA1 - rtems_timer_cancel - timer 1 +TA1 - rtems_timer_cancel - timer 2 +TA1 - rtems_timer_server_fire_when - timer 1 in 1 seconds +TA1 - rtems_timer_server_fire_after - timer 2 in 1 tick +TA1 - rtems_task_wake_after - 1 tick +TA1 - rtems_timer_cancel - timer 1 TA1 - rtems_task_wake_after - YIELD (only task at priority) TA1 - timer_deleting - timer 1 -*** END OF TEST 31 *** +*** END OF TEST 31 *** diff --git a/testsuites/sptests/sp31/task1.c b/testsuites/sptests/sp31/task1.c index 13385aa319..67f06f821a 100644 --- a/testsuites/sptests/sp31/task1.c +++ b/testsuites/sptests/sp31/task1.c @@ -11,6 +11,8 @@ * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). * + * Copyright (c) 2009 embedded brains GmbH. + * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. @@ -35,6 +37,14 @@ rtems_timer_service_routine Should_not_fire_TSR( TSR_fired = 1; } +rtems_timer_service_routine Do_nothing( + rtems_id ignored_id, + void *ignored_address +) +{ + /* Do nothing */ +} + static Watchdog_Interval schedule_time( void ) { const Watchdog_Control *watchdog = @@ -271,6 +281,67 @@ rtems_task Task_1( status = rtems_timer_cancel( tmid ); directive_failed( status, "rtems_timer_cancel" ); +/* TOD timer insert with non empty TOD timer chain */ + + status = rtems_clock_get_tod( &time ); + directive_failed( status, "rtems_clock_get_tod" ); + + time.second += 3; + + puts( "TA1 - rtems_timer_server_fire_when - timer 1 in 3 seconds" ); + status = rtems_timer_server_fire_when( tmid, &time, Do_nothing, NULL ); + directive_failed( status, "rtems_timer_server_fire_when" ); + + puts( "TA1 - rtems_timer_server_fire_when - timer 2 in 3 seconds" ); + status = rtems_timer_server_fire_when( tmid2, &time, Do_nothing, NULL ); + directive_failed( status, "rtems_timer_server_fire_when" ); + + puts( "TA1 - rtems_task_wake_after - 1 second" ); + status = rtems_task_wake_after( 1 * rtems_clock_get_ticks_per_second() ); + directive_failed( status, "rtems_task_wake_after" ); + + puts( "TA1 - rtems_timer_server_fire_when - timer 2 in 3 seconds" ); + status = rtems_timer_server_fire_when( tmid2, &time, Do_nothing, NULL ); + directive_failed( status, "rtems_timer_server_fire_when" ); + + puts( "TA1 - rtems_timer_cancel - timer 1" ); + status = rtems_timer_cancel( tmid ); + directive_failed( status, "rtems_timer_cancel" ); + + puts( "TA1 - rtems_timer_cancel - timer 2" ); + status = rtems_timer_cancel( tmid2 ); + directive_failed( status, "rtems_timer_cancel" ); + +/* TOD chain processing with time wrap */ + + time.second = 30; + + status = rtems_clock_set( &time ); + directive_failed( status, "rtems_clock_set" ); + + time.second = 31; + + puts( "TA1 - rtems_timer_server_fire_when - timer 1 in 1 seconds" ); + status = rtems_timer_server_fire_when( tmid, &time, Do_nothing, NULL ); + directive_failed( status, "rtems_timer_server_fire_when" ); + + time.second = 29; + + status = rtems_clock_set( &time ); + directive_failed( status, "rtems_clock_set" ); + + puts( "TA1 - rtems_timer_server_fire_after - timer 2 in 1 tick" ); + status = rtems_timer_server_fire_after( tmid2, 1, Do_nothing, NULL ); + directive_failed( status, "rtems_timer_server_fire_after" ); + + puts( "TA1 - rtems_task_wake_after - 1 tick" ); + status = rtems_task_wake_after( 1 ); + directive_failed( status, "rtems_task_wake_after" ); + + puts( "TA1 - rtems_timer_cancel - timer 1" ); + status = rtems_timer_cancel( tmid ); + directive_failed( status, "rtems_timer_cancel" ); + /* delete */ puts( "TA1 - rtems_task_wake_after - YIELD (only task at priority)" ); status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR ); |