summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/sp09/screen14.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-01-16 22:13:29 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-01-16 22:13:29 +0000
commitde569fee9ff6ded0a71bd76d3cdefb82b5399419 (patch)
treea89f18654b4ee8c6bc5b245a3dbd790c6dc45abe /testsuites/sptests/sp09/screen14.c
parent2001-01-16 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-de569fee9ff6ded0a71bd76d3cdefb82b5399419.tar.bz2
2001-01-16 Joel Sherrill <joel@OARcorp.com>
* Added tests for task-based timers. This included the new tests sp30 and sp31. * Makefile.am, configure.ac: Modified to reflect new tests and files. * sp09/screen14.c, sp09/sp09.scn: Modified to add error checks for task-based timer services. * sp30/.cvsignore, sp30/Makefile.am, sp30/init.c, sp30/resume.c, sp30/sp30.doc, sp30/sp30.scn, sp30/system.h, sp30/task1.c, sp31/.cvsignore, sp31/Makefile.am, sp31/delay.c, sp31/init.c, sp31/prtime.c, sp31/sp31.doc, sp31/sp31.scn, sp31/system.h, sp31/task1.c: New files.
Diffstat (limited to 'testsuites/sptests/sp09/screen14.c')
-rw-r--r--testsuites/sptests/sp09/screen14.c82
1 files changed, 82 insertions, 0 deletions
diff --git a/testsuites/sptests/sp09/screen14.c b/testsuites/sptests/sp09/screen14.c
index 6c7fd0176d..90a287cf9c 100644
--- a/testsuites/sptests/sp09/screen14.c
+++ b/testsuites/sptests/sp09/screen14.c
@@ -150,4 +150,86 @@ void Screen14()
&time,
" - before RTEMS_INVALID_CLOCK\n"
);
+
+/* timer server interface routines */
+
+ status = rtems_timer_server_fire_after( 0, 5, NULL, NULL );
+ fatal_directive_status(
+ status,
+ RTEMS_INCORRECT_STATE,
+ "rtems_timer_server_fire_after incorrect state"
+ );
+ puts( "TA1 - rtems_timer_server_fire_after - RTEMS_INCORRECT_STATE" );
+
+ status = rtems_timer_server_fire_when( 0, &time, NULL, NULL );
+ fatal_directive_status(
+ status,
+ RTEMS_INCORRECT_STATE,
+ "rtems_timer_server_fire_when incorrect state"
+ );
+ puts( "TA1 - rtems_timer_server_fire_when - RTEMS_INCORRECT_STATE" );
+
+ status = rtems_timer_initiate_server( 0, 0 );
+ directive_failed( status, "rtems_timer_initiate_server" );
+ puts( "TA1 - rtems_timer_initiate_server" );
+
+ status = rtems_timer_server_fire_after(
+ 0x010100,
+ 5 * TICKS_PER_SECOND,
+ Delayed_routine,
+ NULL
+ );
+ fatal_directive_status(
+ status,
+ RTEMS_INVALID_ID,
+ "rtems_timer_server_fire_after illegal id"
+ );
+ puts( "TA1 - rtems_timer_server_fire_after - RTEMS_INVALID_ID" );
+
+ build_time( &time, 12, 31, 1994, 9, 0, 0, 0 );
+ status = rtems_timer_server_fire_when( 0x010100, &time, Delayed_routine, NULL );
+ fatal_directive_status(
+ status,
+ RTEMS_INVALID_ID,
+ "rtems_timer_server_fire_when with illegal id"
+ );
+ puts( "TA1 - rtems_timer_server_fire_when - RTEMS_INVALID_ID" );
+
+ status = rtems_timer_server_fire_after( Timer_id[ 1 ], 0, Delayed_routine, NULL );
+ fatal_directive_status(
+ status,
+ RTEMS_INVALID_NUMBER,
+ "rtems_timer_server_fire_after with 0 ticks"
+ );
+ puts( "TA1 - rtems_timer_server_fire_after - RTEMS_INVALID_NUMBER" );
+
+ build_time( &time, 2, 5, 1987, 8, 30, 45, 0 );
+ status = rtems_timer_server_fire_when( Timer_id[ 1 ], &time, Delayed_routine, NULL );
+ fatal_directive_status(
+ status,
+ RTEMS_INVALID_CLOCK,
+ "rtems_timer_server_fire_when with illegal time"
+ );
+ print_time(
+ "TA1 - rtems_timer_server_fire_when - ",
+ &time,
+ " - RTEMS_INVALID_CLOCK\n"
+ );
+
+ status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
+ directive_failed( status, "rtems_clock_set" );
+ print_time( "TA1 - rtems_clock_get - ", &time, "\n" );
+
+ build_time( &time, 2, 5, 1990, 8, 30, 45, 0 );
+ status = rtems_timer_server_fire_when( Timer_id[ 1 ], &time, Delayed_routine, NULL );
+ fatal_directive_status(
+ status,
+ RTEMS_INVALID_CLOCK,
+ "rtems_timer_server_fire_when before current time"
+ );
+ print_time(
+ "TA1 - rtems_timer_server_fire_when - ",
+ &time,
+ " - before RTEMS_INVALID_CLOCK\n"
+ );
}