From ab2422c01f42311c1f6a0c786616ef3b82556061 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 14 Sep 2009 17:59:29 +0000 Subject: 2009-09-14 Joel Sherrill * psxtests/psxclock/init.c, psxtests/psxclock/psxclock.scn: Add test case for nanosleep of a very small delay which mathematically is less than a clock tick. --- testsuites/ChangeLog | 6 ++++++ testsuites/psxtests/psxclock/init.c | 11 ++++++++++- testsuites/psxtests/psxclock/psxclock.scn | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) (limited to 'testsuites') diff --git a/testsuites/ChangeLog b/testsuites/ChangeLog index 6895de394a..ddc7239df4 100644 --- a/testsuites/ChangeLog +++ b/testsuites/ChangeLog @@ -1,3 +1,9 @@ +2009-09-14 Joel Sherrill + + * psxtests/psxclock/init.c, psxtests/psxclock/psxclock.scn: Add test + case for nanosleep of a very small delay which mathematically is less + than a clock tick. + 2009-09-13 Joel Sherrill * configure.ac: Some POSIX tests exercise functionality which is diff --git a/testsuites/psxtests/psxclock/init.c b/testsuites/psxtests/psxclock/init.c index 43d5b4d639..ac34d4ccde 100644 --- a/testsuites/psxtests/psxclock/init.c +++ b/testsuites/psxtests/psxclock/init.c @@ -155,6 +155,15 @@ rtems_task Init( rtems_test_assert( sc == -1 ); rtems_test_assert( errno == EINVAL ); + /* this is actually a small delay */ + tv.tv_sec = 0; + tv.tv_nsec = 1; + puts( "Init: nanosleep - delay so small results in one tick" ); + sc = nanosleep ( &tv, &tr ); + rtems_test_assert( !sc ); + rtems_test_assert( !tr.tv_sec ); + rtems_test_assert( !tr.tv_nsec ); + /* use nanosleep to yield */ tv.tv_sec = 0; @@ -200,7 +209,7 @@ rtems_task Init( rtems_test_assert( !sc ); printf( ctime( &tv.tv_sec ) ); - puts( "" ); + empty_line(); puts( "clock_gettime - CLOCK_THREAD_CPUTIME -- ENOSYS" ); #if defined(_POSIX_THREAD_CPUTIME) { diff --git a/testsuites/psxtests/psxclock/psxclock.scn b/testsuites/psxtests/psxclock/psxclock.scn index 15524c74da..c5b3e1e062 100644 --- a/testsuites/psxtests/psxclock/psxclock.scn +++ b/testsuites/psxtests/psxclock/psxclock.scn @@ -21,6 +21,7 @@ Init: seconds remaining (0) Init: nanosleep - EINVAL (NULL time) Init: nanosleep - EINVAL (too many nanoseconds) Init: nanosleep - negative seconds small delay +Init: nanosleep - delay so small results in one tick Init: nanosleep - yield with remaining Init: nanosleep - yield with NULL time remaining Init: nanosleep - 1.05 seconds -- cgit v1.2.3