Imported Upstream version 0.153
[platform/upstream/elfutils.git] / tests / run-strip-test.sh
1 #! /bin/sh
2 # Copyright (C) 1999, 2000, 2002, 2003, 2005, 2007, 2008 Red Hat, Inc.
3 # This file is part of Red Hat elfutils.
4 # Written by Ulrich Drepper <drepper@redhat.com>, 1999.
5 #
6 # Red Hat elfutils is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by the
8 # Free Software Foundation; version 2 of the License.
9 #
10 # Red Hat elfutils is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 # General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License along
16 # with Red Hat elfutils; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
18 #
19 # Red Hat elfutils is an included package of the Open Invention Network.
20 # An included package of the Open Invention Network is a package for which
21 # Open Invention Network licensees cross-license their patents.  No patent
22 # license is granted, either expressly or impliedly, by designation as an
23 # included package.  Should you wish to participate in the Open Invention
24 # Network licensing program, please visit www.openinventionnetwork.com
25 # <http://www.openinventionnetwork.com>.
26
27 . $srcdir/test-subr.sh
28
29 original=${original:-testfile11}
30 stripped=${stripped:-testfile7}
31 debugout=${debugfile:+-f testfile.debug.temp -F $debugfile}
32
33 testfiles $original
34 test x$stripped = xtestfile.temp || testfiles $stripped $debugfile
35
36 tempfiles testfile.temp testfile.debug.temp testfile.unstrip
37
38 testrun ../src/strip -o testfile.temp $debugout $original
39
40 status=0
41
42 cmp $stripped testfile.temp || status=$?
43
44 # Check elflint and the expected result.
45 testrun ../src/elflint -q testfile.temp || status=$?
46
47 test -z "$debugfile" || {
48 cmp $debugfile testfile.debug.temp || status=$?
49
50 # Check elflint and the expected result.
51 testrun ../src/elflint -q -d testfile.debug.temp || status=$?
52
53 # Now test unstrip recombining those files.
54 testrun ../src/unstrip -o testfile.unstrip testfile.temp testfile.debug.temp
55
56 # Check that it came back whole.
57 testrun ../src/elfcmp --hash-inexact $original testfile.unstrip
58 }
59
60 tempfiles testfile.sections
61 testrun ../src/readelf -S testfile.temp > testfile.sections || status=$?
62 fgrep ' .debug_' testfile.sections && status=1
63
64 exit $status