summaryrefslogtreecommitdiffstats
path: root/tests/test-wrapper.sh
diff options
context:
space:
mode:
authorRoland McGrath <[email protected]>2005-11-16 01:33:38 +0000
committerRoland McGrath <[email protected]>2005-11-16 01:33:38 +0000
commit1b8b446a794ac4babfd687ca48de32e5f4aaa539 (patch)
treeb619a87dfff2b1fb667778f2699daa29a77f74c3 /tests/test-wrapper.sh
parentfd856b5865368a894c178be0d2ad7285db5b3150 (diff)
2005-11-15 Roland McGrath <[email protected]>
* configure.ac: Add --enable-tests-rpath option. tests/ 2005-11-15 Roland McGrath <[email protected]> * Makefile.am (BUILD_RPATH): New variable. [TESTS_RPATH] (AM_LDFLAGS): Pass -rpath option using that value. (tests_rpath): New variable. (installcheck-local): Pass it to test-wrapper.sh. * test-wrapper.sh: In "installed" format, take yes/no value for elfutils_tests_rpath, which export. When running a test binary for installcheck, exit 77. * test-subr.sh (installed_testrun): When running a test binary for installcheck, exit 77 if $elfutils_tests_rpath = yes.
Diffstat (limited to 'tests/test-wrapper.sh')
-rwxr-xr-xtests/test-wrapper.sh52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/test-wrapper.sh b/tests/test-wrapper.sh
new file mode 100755
index 00000000..2abcc74e
--- /dev/null
+++ b/tests/test-wrapper.sh
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+#
+# This program is Open Source software; you can redistribute it and/or
+# modify it under the terms of the Open Software License version 1.0 as
+# published by the Open Source Initiative.
+#
+# You should have received a copy of the Open Software License along
+# with this program; if not, you may obtain a copy of the Open Software
+# License version 1.0 from http://www.opensource.org/licenses/osl.php or
+# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
+# 3001 King Ranch Road, Ukiah, CA 95482.
+
+# We don't compile in an rpath because we want "make installcheck" to
+# use the installed libraries. So for local test runs we need to point
+# the library path at this build.
+
+# This wrapper script is called by the makefile, in one of two ways:
+# $(srcdir)/test-wrapper.sh ../libelf:... run-test.sh ...
+# or:
+# $(srcdir)/test-wrapper.sh installed s,^,eu-, run-test.sh ...
+
+if [ "$1" = installed ]; then
+ shift
+ elfutils_tests_rpath=$1
+ shift
+ program_transform_name="$1"
+ shift
+ elfutils_testrun=installed
+else
+ built_library_path="$1"
+ shift
+ elfutils_testrun=built
+fi
+
+case "$1" in
+*.sh)
+ export built_library_path program_transform_name elfutils_testrun
+ export elfutils_tests_rpath
+ ;;
+*)
+ if [ $elfutils_testrun = built ]; then
+ LD_LIBRARY_PATH="$built_library_path${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+ export LD_LIBRARY_PATH
+ elif [ $elfutils_tests_rpath = yes ]; then
+ echo >&2 installcheck not possible with --enable-tests-rpath
+ exit 77
+ fi
+ ;;
+esac
+
+exec "$@"