tests: protect test libs against multiple inclusion
authorStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 26 Jul 2012 10:21:40 +0000 (12:21 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 26 Jul 2012 12:11:39 +0000 (14:11 +0200)
* t/ax/test-lib.sh, t/ax/am-test-lib.sh: Return early if already sourced.
Use the witness variables '$test_lib_sourced' and '$am_test_lib_sourced',
respectively, for this purpose.
* runtest.in, Makefile.am (AM_TESTS_ENVIRONMENT): Unset 'test_lib_sourced'
and 'am_test_lib_sourced', to avoid interferences from the environment.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Makefile.am
t/ax/am-test-lib.sh
t/ax/test-lib.sh

index ce502b4..e55e43d 100644 (file)
@@ -342,6 +342,8 @@ AM_TESTS_ENVIRONMENT = \
     am_test_prefer_config_shell \
     am_original_AUTOMAKE \
     am_original_ACLOCAL \
+    am_test_lib_sourced \
+    test_lib_sourced \
   ; do \
     eval test x"\$${$$v}" = x || unset $$v; \
   done;
index aaa8df5..8a0e117 100644 (file)
 ###  IMPORTANT NOTE: keep this file 'set -e' clean.  ###
 ########################################################
 
+# Do not source several times.
+test ${am_test_lib_sourced-no} = yes && return 0
+am_test_lib_sourced=yes
+
 # A literal escape character.  Used by test checking colored output.
 esc='\e'
 
index 60ffd98..9a530b1 100644 (file)
 ###  IMPORTANT NOTE: keep this file 'set -e' clean.  ###
 ########################################################
 
+# Do not source several times.
+test ${test_lib_sourced-no} = yes && return 0
+test_lib_sourced=yes
+
 # CDPATH is evil if used in non-interactive scripts (and even more
 # evil if exported in the environment).
 CDPATH=; unset CDPATH