From cd3fb80a263a5d998c8386141fad2d6b42a6224a Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 23 Nov 1998 18:58:48 +0000 Subject: Added new tests in support of the file system infrastructure. --- testsuites/psxtests/psxtime/main.c | 40 +++++++++++ testsuites/psxtests/psxtime/psxtime.scn | 0 testsuites/psxtests/psxtime/test.c | 115 ++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+) create mode 100644 testsuites/psxtests/psxtime/main.c create mode 100644 testsuites/psxtests/psxtime/psxtime.scn create mode 100644 testsuites/psxtests/psxtime/test.c (limited to 'testsuites') diff --git a/testsuites/psxtests/psxtime/main.c b/testsuites/psxtests/psxtime/main.c new file mode 100644 index 0000000000..37658f4feb --- /dev/null +++ b/testsuites/psxtests/psxtime/main.c @@ -0,0 +1,40 @@ +/* + * Simple test program -- simplified version of sample test hello. + * + * COPYRIGHT (c) 1989-1998. + * On-Line Applications Research Corporation (OAR). + * Copyright assigned to U.S. Government, 1994. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.OARcorp.com/rtems/license.html. + * + * $Id$ + */ + +#define TEST_INIT + +#include + +void test_main( void ); + +rtems_task Init( + rtems_task_argument ignored +) +{ + test_main(); + exit( 0 ); +} + +/* configuration information */ + +#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#define CONFIGURE_INIT + +#include + +/* end of file */ diff --git a/testsuites/psxtests/psxtime/psxtime.scn b/testsuites/psxtests/psxtime/psxtime.scn new file mode 100644 index 0000000000..e69de29bb2 diff --git a/testsuites/psxtests/psxtime/test.c b/testsuites/psxtests/psxtime/test.c new file mode 100644 index 0000000000..8ce431145d --- /dev/null +++ b/testsuites/psxtests/psxtime/test.c @@ -0,0 +1,115 @@ +/* + * This test exercises the time of day services via the Classic + * and POSIX APIs to make sure they are consistent. + * + * COPYRIGHT (c) 1989-1998. + * On-Line Applications Research Corporation (OAR). + * Copyright assigned to U.S. Government, 1994. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.OARcorp.com/rtems/license.html. + * + * $Id$ + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * List of dates and times to test. + */ +#define NUMBER_OF_DATES 7 +rtems_time_of_day Dates[ NUMBER_OF_DATES ] = { + /* YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, TICKS */ + { 1988, 1, 1, 12, 45, 00, 0 }, + { 1988, 12, 31, 9, 00, 00, 0 }, + { 1999, 12, 31, 23, 55, 59, 0 }, + { 1999, 06, 30, 00, 01, 30, 0 }, + { 2000, 1, 1, 0, 15, 59, 0 }, + { 2005, 2, 2, 5, 10, 59, 0 }, + { 2010, 3, 3, 10, 5, 59, 0 }, + { 2020, 4, 4, 15, 0, 59, 0 }, +}; + +/* + * Check out a single date and time + */ + +void check_a_tod( + rtems_time_of_day *the_tod +) +{ + rtems_status_code status; + rtems_time_of_day new_tod; + time_t a_time_t; + struct timeval tv; + struct tm *a_tm; + int result; + int i = 0; + + print_time( "rtems_clock_set ", the_tod, "\n" ); + status = rtems_clock_set( the_tod ); + assert( !status ); + + do { + status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &new_tod ); + assert( !status ); + print_time( "rtems_clock_get ", &new_tod, "\n" ); + + /* now do the posix time gets */ + result = gettimeofday( &tv, 0 ); + assert( result == 0 ); + printf( "gettimeofday: %s", ctime( &tv.tv_sec ) ); + + a_time_t = time( 0 ); + printf( "time: %s", ctime( &a_time_t ) ); + + a_tm = localtime( &a_time_t ); + printf( "localtime: %s", asctime( a_tm ) ); + + a_tm = gmtime( &a_time_t ); + printf( "gmtime: %s\n", asctime( a_tm ) ); + + status = rtems_task_wake_after( 5 * TICKS_PER_SECOND ); + + i++; + + } while( i < 6 ); +} + +/* + * main entry point to the test + */ + +#if defined(__rtems__) +int test_main(void) +#else +int main( + int argc, + char **argv +) +#endif +{ + int i; + + puts( "\n\n*** POSIX TIME OF DAY TEST ***" ); + + i = 0; + while ( i < NUMBER_OF_DATES ) { + check_a_tod( &Dates[i] ); + i++; + } + + puts( "\n\n*** END OF TIME OF DAY TEST 01 ***" ); + exit(0); +} + -- cgit v1.2.3