From 3e1fada2e9affd5aa514d78ad01fd7e5842c161b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 13 Mar 2007 19:31:29 +0000 Subject: 2007-03-13 Joel Sherrill * Makefile.am, configure.ac: Added timezone test. * tztest/Makefile.am, tztest/init.c, tztest/tztest.doc, tztest/tztest.scn: New files. --- testsuites/libtests/ChangeLog | 6 +++ testsuites/libtests/Makefile.am | 2 +- testsuites/libtests/configure.ac | 1 + testsuites/libtests/tztest/Makefile.am | 25 +++++++++++++ testsuites/libtests/tztest/init.c | 68 ++++++++++++++++++++++++++++++++++ testsuites/libtests/tztest/tztest.doc | 6 +++ testsuites/libtests/tztest/tztest.scn | 5 +++ 7 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 testsuites/libtests/tztest/Makefile.am create mode 100644 testsuites/libtests/tztest/init.c create mode 100644 testsuites/libtests/tztest/tztest.doc create mode 100644 testsuites/libtests/tztest/tztest.scn diff --git a/testsuites/libtests/ChangeLog b/testsuites/libtests/ChangeLog index a887d572b5..69dc3b3927 100644 --- a/testsuites/libtests/ChangeLog +++ b/testsuites/libtests/ChangeLog @@ -1,3 +1,9 @@ +2007-03-13 Joel Sherrill + + * Makefile.am, configure.ac: Added timezone test. + * tztest/Makefile.am, tztest/init.c, tztest/tztest.doc, + tztest/tztest.scn: New files. + 2007-03-05 Joel Sherrill * malloctest/init.c: Be explicit about need for default and floating diff --git a/testsuites/libtests/Makefile.am b/testsuites/libtests/Makefile.am index 5ee7537331..3c9ceaee99 100644 --- a/testsuites/libtests/Makefile.am +++ b/testsuites/libtests/Makefile.am @@ -5,7 +5,7 @@ ACLOCAL_AMFLAGS = -I ../aclocal SUBDIRS = cpuuse malloctest putenvtest monitor rtmonuse stackchk termios \ - rtems++ + rtems++ tztest include $(top_srcdir)/../automake/subdirs.am include $(top_srcdir)/../automake/local.am diff --git a/testsuites/libtests/configure.ac b/testsuites/libtests/configure.ac index e845aa0257..4d52aa43a2 100644 --- a/testsuites/libtests/configure.ac +++ b/testsuites/libtests/configure.ac @@ -41,5 +41,6 @@ rtems++/Makefile rtmonuse/Makefile stackchk/Makefile termios/Makefile +tztest/Makefile ]) AC_OUTPUT diff --git a/testsuites/libtests/tztest/Makefile.am b/testsuites/libtests/tztest/Makefile.am new file mode 100644 index 0000000000..ec5356bd8e --- /dev/null +++ b/testsuites/libtests/tztest/Makefile.am @@ -0,0 +1,25 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = tztest.exe +tztest_exe_SOURCES = init.c + +dist_rtems_tests_DATA = tztest.scn + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(tztest_exe_OBJECTS) $(tztest_exe_LDADD) +LINK_LIBS = $(tztest_exe_LDLIBS) + +tztest.exe$(EXEEXT): $(tztest_exe_OBJECTS) $(tztest_exe_DEPENDENCIES) + @rm -f tztest.exe$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/libtests/tztest/init.c b/testsuites/libtests/tztest/init.c new file mode 100644 index 0000000000..82d6c634b9 --- /dev/null +++ b/testsuites/libtests/tztest/init.c @@ -0,0 +1,68 @@ +/* + * This routine is the initialization task of test to exercise some + * timezone functionality. + * + * COPYRIGHT (c) 2007. + * 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 +#include +#include + +void tztester(void) +{ + struct tm *tm; + time_t now; + + printf("TZ:\"%s\"\n", getenv("TZ")); + + time(&now); + tm = localtime(&now); + printf ("%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d\n", + 1900+tm->tm_year, tm->tm_mon+1, tm->tm_mday, + tm->tm_hour, tm->tm_min, tm->tm_sec); + + tm = gmtime(&now); + printf ("%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d\n", + 1900+tm->tm_year, tm->tm_mon+1, tm->tm_mday, + tm->tm_hour, tm->tm_min, tm->tm_sec); +} + +rtems_task Init( + rtems_task_argument argument +) +{ + rtems_time_of_day time; + rtems_status_code status; + + puts( "\n\n*** TIMEZONE TEST ***" ); + + build_time( &time, 3, 14, 2007, 15, 9, 26, 5 ); + status = rtems_clock_set( &time ); + directive_failed( status, "rtems_clock_set" ); + + setenv( "TZ", "CST6CDT,M 3.2.0,M 11.1.0", 1 ); + + tztester(); + + puts( "*** END OF TIMEZONE TEST ***" ); + exit(0); +} + + +#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 diff --git a/testsuites/libtests/tztest/tztest.doc b/testsuites/libtests/tztest/tztest.doc new file mode 100644 index 0000000000..f74c42ae7c --- /dev/null +++ b/testsuites/libtests/tztest/tztest.doc @@ -0,0 +1,6 @@ +# +# $Id$ +# + +The purpose of this test is to demonstrate the use of timezones. + diff --git a/testsuites/libtests/tztest/tztest.scn b/testsuites/libtests/tztest/tztest.scn new file mode 100644 index 0000000000..2efabfe2ac --- /dev/null +++ b/testsuites/libtests/tztest/tztest.scn @@ -0,0 +1,5 @@ +*** TIMEZONE TEST *** +TZ:"CST6CDT,M 3.2.0,M 11.1.0" +2007-03-14 10:09:26 +2007-03-14 15:09:26 +*** END OF TIMEZONE TEST *** -- cgit v1.2.3