Home | History | Annotate | Download | only in tests
      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 (at] 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
     65