Imported Upstream version 0.153
[platform/upstream/elfutils.git] / tests / test-wrapper.sh
1 #! /bin/sh
2 # Copyright (C) 2005-2012 Red Hat, Inc.
3 # This file is part of Red Hat elfutils.
4 #
5 # Red Hat elfutils is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by the
7 # Free Software Foundation; version 2 of the License.
8 #
9 # Red Hat elfutils is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License along
15 # with Red Hat elfutils; if not, write to the Free Software Foundation,
16 # Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
17 #
18 # Red Hat elfutils is an included package of the Open Invention Network.
19 # An included package of the Open Invention Network is a package for which
20 # Open Invention Network licensees cross-license their patents.  No patent
21 # license is granted, either expressly or impliedly, by designation as an
22 # included package.  Should you wish to participate in the Open Invention
23 # Network licensing program, please visit www.openinventionnetwork.com
24 # <http://www.openinventionnetwork.com>.
25
26
27 # We don't compile in an rpath because we want "make installcheck" to
28 # use the installed libraries.  So for local test runs we need to point
29 # the library path at this build.
30
31 # This wrapper script is called by the makefile, in one of two ways:
32 #       $(srcdir)/test-wrapper.sh ../libelf:... run-test.sh ...
33 # or:
34 #       $(srcdir)/test-wrapper.sh installed s,^,eu-, run-test.sh ...
35
36 if [ "$1" = installed ]; then
37   shift
38   elfutils_tests_rpath=$1
39   shift
40   program_transform_name="$1"
41   shift
42   elfutils_testrun=installed
43 else
44   built_library_path="$1"
45   shift
46   elfutils_testrun=built
47 fi
48
49 old_path="${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
50
51 case "$1" in
52 *.sh)
53   export built_library_path program_transform_name elfutils_testrun
54   export elfutils_tests_rpath
55   ;;
56 *)
57   if [ $elfutils_testrun = built ]; then
58     LD_LIBRARY_PATH="$built_library_path$old_path"
59   elif [ $elfutils_tests_rpath = yes ]; then
60     echo >&2 installcheck not possible with --enable-tests-rpath
61     exit 77
62   elif [ "x$libdir" != x/usr/lib ] && [ "x$libdir" != x/usr/lib64 ]; then
63     LD_LIBRARY_PATH="${libdir}:${libdir}/elfutils$old_path"
64   fi
65   export LD_LIBRARY_PATH
66   ;;
67 esac
68
69 exec "$@"