diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 2faf69083..301e85543 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -1,5 +1,4 @@
@@ -14,6 +13,14 @@ +A new test program epicsEnvTest has been added to the libCom tests which +checks environment variable APIs. It was written to confirm that threads see +environment variable values that have been set in their parent thread. VxWorks +6.x boot images must be configured with ENV_VAR_USE_HOOKS set to FALSE for the +correct behaviour to occur (a test failure on VxWorks explains this).
+The way the build system includes files installed in the <top>/cfg/*
diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile
index 0d6ab1487..e8e94a3e6 100644
--- a/src/libCom/test/Makefile
+++ b/src/libCom/test/Makefile
@@ -37,6 +37,11 @@ epicsEllTest_SRCS += epicsEllTest.c
testHarness_SRCS += epicsEllTest.c
TESTS += epicsEllTest
+TESTPROD_HOST += epicsEnvTest
+epicsEnvTest_SRCS += epicsEnvTest.c
+testHarness_SRCS += epicsEnvTest.c
+TESTS += epicsEnvTest
+
TESTPROD_HOST += epicsErrlogTest
epicsErrlogTest_SRCS += epicsErrlogTest.c
testHarness_SRCS += epicsErrlogTest.c
diff --git a/src/libCom/test/epicsEnvTest.c b/src/libCom/test/epicsEnvTest.c
new file mode 100644
index 000000000..bbce4b749
--- /dev/null
+++ b/src/libCom/test/epicsEnvTest.c
@@ -0,0 +1,78 @@
+/*************************************************************************\
+* Copyright (c) 2013 UChicago Argonne LLC, as Operator of Argonne
+* National Laboratory.
+* EPICS BASE is distributed subject to a Software License Agreement found
+* in file LICENSE that is included with this distribution.
+\*************************************************************************/
+/* epicsEnvTest.c */
+
+/* Author: Andrew Johnson
+ * Date: 2013-12-13
+ */
+
+/* Check environment variable APIs.
+ * TODO: Add tests for envDefs.h routines.
+ *
+ * The thread test is needed on VxWorks 6.x, where the OS can be
+ * configured to maintain separate, totally independent sets
+ * of environment variables for each thread. This configuration
+ * is not supported by EPICS which expects child threads to at
+ * least inherit the partent thread's environment variables.
+ */
+
+#include