From e50e3eff35177244b0cc44c9eda509261c6f512b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 4 Oct 1999 13:54:25 +0000 Subject: New test for getenv/putenv added by Joel. --- c/src/tests/libtests/Makefile.am | 2 +- c/src/tests/libtests/configure.in | 1 + c/src/tests/libtests/putenvtest/Makefile.in | 73 +++++++++++++++++++++++++++++ c/src/tests/libtests/putenvtest/init.c | 59 +++++++++++++++++++++++ testsuites/libtests/Makefile.am | 2 +- testsuites/libtests/putenvtest/init.c | 59 +++++++++++++++++++++++ 6 files changed, 194 insertions(+), 2 deletions(-) create mode 100644 c/src/tests/libtests/putenvtest/Makefile.in create mode 100644 c/src/tests/libtests/putenvtest/init.c create mode 100644 testsuites/libtests/putenvtest/init.c diff --git a/c/src/tests/libtests/Makefile.am b/c/src/tests/libtests/Makefile.am index a860b8c0e7..9c56af5730 100644 --- a/c/src/tests/libtests/Makefile.am +++ b/c/src/tests/libtests/Makefile.am @@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = foreign 1.4 ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal -SUBDIRS = cpuuse malloctest monitor rtmonuse stackchk termios rtems++ +SUBDIRS = cpuuse malloctest putenvtest monitor rtmonuse stackchk termios rtems++ include $(top_srcdir)/../../../../automake/subdirs.am include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/tests/libtests/configure.in b/c/src/tests/libtests/configure.in index ff69752e10..adf3a6442b 100644 --- a/c/src/tests/libtests/configure.in +++ b/c/src/tests/libtests/configure.in @@ -46,6 +46,7 @@ Makefile cpuuse/Makefile malloctest/Makefile monitor/Makefile +putenvtest/Makefile rtems++/Makefile rtmonuse/Makefile stackchk/Makefile diff --git a/c/src/tests/libtests/putenvtest/Makefile.in b/c/src/tests/libtests/putenvtest/Makefile.in new file mode 100644 index 0000000000..b296085196 --- /dev/null +++ b/c/src/tests/libtests/putenvtest/Makefile.in @@ -0,0 +1,73 @@ +# +# $Id$ +# + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +top_builddir = .. +subdir = putenvtest + +RTEMS_ROOT = @RTEMS_ROOT@ +PROJECT_ROOT = @PROJECT_ROOT@ + +VPATH = @srcdir@ + +TEST = putenvtest + +MANAGERS = io + +# C source names, if any, go here -- minus the .c +C_PIECES = init +C_FILES = $(C_PIECES:%=%.c) +C_O_FILES = $(C_PIECES:%=${ARCH}/%.o) + +H_FILES = + +DOCTYPES = +DOCS = $(DOCTYPES:%=$(TEST).%) + +SRCS = $(DOCS) $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) +OBJS = $(C_O_FILES) $(CC_O_FILES) $(S_O_FILES) + +PRINT_SRCS = $(DOCS) + +PGM = ${ARCH}/$(TEST).exe + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(RTEMS_ROOT)/make/leaf.cfg + +INSTALL_CHANGE = @INSTALL_CHANGE@ +PACKHEX = @PACKHEX@ + +# +# (OPTIONAL) Add local stuff here using += +# + +DEFINES += +CPPFLAGS += +CFLAGS += + +LD_PATHS += +LD_LIBS += +LDFLAGS += + +# +# Add your list of files to delete here. The config files +# already know how to delete some stuff, so you may want +# to just run 'make clean' first to see what gets missed. +# 'make clobber' already includes 'make clean' +# + +CLEAN_ADDITIONS += +CLOBBER_ADDITIONS += + +all: ${ARCH} $(SRCS) $(PGM) + $(INSTALL_VARIANT) -m 755 ${PGM} $(PROJECT_RELEASE)/tests + +${PGM}: $(OBJS) $(LINK_FILES) + $(make-exe) + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status diff --git a/c/src/tests/libtests/putenvtest/init.c b/c/src/tests/libtests/putenvtest/init.c new file mode 100644 index 0000000000..bd44485e2c --- /dev/null +++ b/c/src/tests/libtests/putenvtest/init.c @@ -0,0 +1,59 @@ +/* Init + * + * This routine is the initialization task for this test program. + * It is a user initialization task and has the responsibility for creating + * and starting the tasks that make up the test. If the time of day + * clock is required for the test, it should also be set to a known + * value by this function. + * + * Input parameters: + * argument - task argument + * + * Output parameters: NONE + * + * 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 +#include +#include + +rtems_task Init( + rtems_task_argument argument +); + +/* configuration information */ + +#define CONFIGURE_SPTEST + +#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER + +#define TASK_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE*3) + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#include + +rtems_task Init( + rtems_task_argument argument +) +{ + puts( "\n\n*** PUTENV/GETENV TEST ***" ); + + puts( "putenv(\"FOO=BAR\") - expected to work" ); + putenv ("FOO=BAR"); + printf ("getenv(\"FOO\") ==> \"%s\"\n", getenv ("FOO")); + + puts( "*** END OF PUTENV/GETENV TEST ***" ); + exit(0); +} diff --git a/testsuites/libtests/Makefile.am b/testsuites/libtests/Makefile.am index a860b8c0e7..9c56af5730 100644 --- a/testsuites/libtests/Makefile.am +++ b/testsuites/libtests/Makefile.am @@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = foreign 1.4 ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal -SUBDIRS = cpuuse malloctest monitor rtmonuse stackchk termios rtems++ +SUBDIRS = cpuuse malloctest putenvtest monitor rtmonuse stackchk termios rtems++ include $(top_srcdir)/../../../../automake/subdirs.am include $(top_srcdir)/../../../../automake/local.am diff --git a/testsuites/libtests/putenvtest/init.c b/testsuites/libtests/putenvtest/init.c new file mode 100644 index 0000000000..bd44485e2c --- /dev/null +++ b/testsuites/libtests/putenvtest/init.c @@ -0,0 +1,59 @@ +/* Init + * + * This routine is the initialization task for this test program. + * It is a user initialization task and has the responsibility for creating + * and starting the tasks that make up the test. If the time of day + * clock is required for the test, it should also be set to a known + * value by this function. + * + * Input parameters: + * argument - task argument + * + * Output parameters: NONE + * + * 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 +#include +#include + +rtems_task Init( + rtems_task_argument argument +); + +/* configuration information */ + +#define CONFIGURE_SPTEST + +#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER + +#define TASK_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE*3) + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#include + +rtems_task Init( + rtems_task_argument argument +) +{ + puts( "\n\n*** PUTENV/GETENV TEST ***" ); + + puts( "putenv(\"FOO=BAR\") - expected to work" ); + putenv ("FOO=BAR"); + printf ("getenv(\"FOO\") ==> \"%s\"\n", getenv ("FOO")); + + puts( "*** END OF PUTENV/GETENV TEST ***" ); + exit(0); +} -- cgit v1.2.3