diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-11-12 00:21:51 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-11-12 00:21:51 +0000 |
commit | ea7d86b2450f3d4587e13c21b900ad10211aed60 (patch) | |
tree | d7068175de1b77342af1ca747f109ba76bd61501 /testsuites/psxtests/psxusleep/init.c | |
parent | 2009-11-11 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-ea7d86b2450f3d4587e13c21b900ad10211aed60.tar.bz2 |
2009-11-11 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1466/tests
* Makefile.am, configure.ac, psxclock/init.c, psxclock/psxclock.doc,
psxclock/psxclock.scn, psxkey03/init.c, psxsignal02/init.c,
psxsignal03/init.c, psxstack01/init.c: Remove usleep() from tests.
Add test specifically to test it since it is deprecated as of
POSIX.1-2008.
* psxusleep/.cvsignore, psxusleep/Makefile.am, psxusleep/init.c,
psxusleep/psxusleep.doc, psxusleep/psxusleep.scn: New files.
Diffstat (limited to 'testsuites/psxtests/psxusleep/init.c')
-rw-r--r-- | testsuites/psxtests/psxusleep/init.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/testsuites/psxtests/psxusleep/init.c b/testsuites/psxtests/psxusleep/init.c new file mode 100644 index 0000000000..077dfb84d7 --- /dev/null +++ b/testsuites/psxtests/psxusleep/init.c @@ -0,0 +1,68 @@ +/* + * COPYRIGHT (c) 1989-2009. + * On-Line Applications Research Corporation (OAR). + * + * 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. + * + * $Id$ + */ + +#include <pmacros.h> +#include <time.h> +#include <errno.h> + +rtems_task Init( + rtems_task_argument argument +) +{ + struct tm tm; + struct timespec tv; + useconds_t remaining; + int sc; + + puts( "\n\n*** POSIX USLEEP TEST ***" ); + + tm_build_time( &tm, TM_FRIDAY, TM_MAY, 24, 96, 11, 5, 0 ); + + /* set the time of day, and print our buffer in multiple ways */ + + tv.tv_nsec = 0; + tv.tv_sec = mktime( &tm ); + rtems_test_assert( tv.tv_sec != -1 ); + + /* now set the time of day */ + + printf( asctime( &tm ) ); + puts( "Init: clock_settime - SUCCESSFUL" ); + sc = clock_settime( CLOCK_REALTIME, &tv ); + rtems_test_assert( !sc ); + + printf( asctime( &tm ) ); + printf( ctime( &tv.tv_sec ) ); + + /* use sleep to delay */ + + remaining = usleep( 3 * 1000000 ); + rtems_test_assert( !remaining ); + + sc = clock_gettime( CLOCK_REALTIME, &tv ); + rtems_test_assert( !sc ); + + printf( ctime( &tv.tv_sec ) ); + + puts( "*** END OF POSIX USLEEP TEST ***" ); + rtems_test_exit(0); +} + + +/* configuration information */ +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE +#define CONFIGURE_MAXIMUM_TASKS 1 + +#define CONFIGURE_INIT +#include <rtems/confdefs.h> |