Blame tests/run-strip-test-many.sh

Packit Service 97d2fb
#! /bin/sh
Packit Service 97d2fb
# Copyright (C) 2018 Red Hat, Inc.
Packit Service 97d2fb
# This file is part of elfutils.
Packit Service 97d2fb
#
Packit Service 97d2fb
# This file is free software; you can redistribute it and/or modify
Packit Service 97d2fb
# it under the terms of the GNU General Public License as published by
Packit Service 97d2fb
# the Free Software Foundation; either version 3 of the License, or
Packit Service 97d2fb
# (at your option) any later version.
Packit Service 97d2fb
#
Packit Service 97d2fb
# elfutils is distributed in the hope that it will be useful, but
Packit Service 97d2fb
# WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 97d2fb
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 97d2fb
# GNU General Public License for more details.
Packit Service 97d2fb
#
Packit Service 97d2fb
# You should have received a copy of the GNU General Public License
Packit Service 97d2fb
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit Service 97d2fb
Packit Service 97d2fb
. $srcdir/test-subr.sh
Packit Service 97d2fb
Packit Service 97d2fb
status=0
Packit Service 97d2fb
Packit Service 97d2fb
# Use the original file from run-strip-test.sh but with many sections
Packit Service 97d2fb
testfiles testfile
Packit Service 97d2fb
tempfiles testfile1.strip testfile2.strip testfile1.debug testfile2.debug testfile.unstrip
Packit Service 97d2fb
Packit Service 97d2fb
echo "Adding sections to testfile"
Packit Service 97d2fb
testrun ${abs_builddir}/addsections 65535 testfile ||
Packit Service 97d2fb
{ echo "*** failure addsections testfile"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
echo "Testing strip -o"
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/strip -o testfile1.strip -f testfile1.debug testfile ||
Packit Service 97d2fb
{ echo "*** failure strip -o"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
# Do the parts check out?
Packit Service 97d2fb
echo "elflint testfile1.strip"
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/elflint --gnu -q testfile1.strip ||
Packit Service 97d2fb
{ echo "*** failure elflint testfile1.strip"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
echo "elflint testfile1.debug"
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/elflint --gnu -q -d testfile1.debug ||
Packit Service 97d2fb
{ echo "*** failure elflint testfile1.debug"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
# Now test unstrip recombining those files.
Packit Service 97d2fb
echo "unstrip"
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/unstrip -o testfile.unstrip testfile1.strip testfile1.debug ||
Packit Service 97d2fb
{ echo "*** failure unstrip"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
echo "elfcmp"
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/elfcmp testfile testfile.unstrip ||
Packit Service 97d2fb
{ echo "*** failure elfcmp"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
# test strip -g
Packit Service 97d2fb
echo "Testing strip -g"
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/strip -g -o testfile2.strip -f testfile2.debug testfile ||
Packit Service 97d2fb
{ echo "*** failure strip -g"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
# Do the parts check out?
Packit Service 97d2fb
echo "elflint testfile2.strip"
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/elflint --gnu -q testfile2.strip ||
Packit Service 97d2fb
{ echo "*** failure elflint testfile2.strip"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
echo "elflint testfile2.debug"
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/elflint --gnu -q -d testfile2.debug ||
Packit Service 97d2fb
{ echo "*** failure elflint testfile2.debug"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
# Now strip "in-place" and make sure it is smaller.
Packit Service 97d2fb
echo "Testing strip in-place"
Packit Service 97d2fb
SIZE_original=$(stat -c%s testfile)
Packit Service 97d2fb
echo "original size $SIZE_original"
Packit Service 97d2fb
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/strip testfile ||
Packit Service 97d2fb
{ echo "*** failure strip in-place"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
SIZE_stripped=$(stat -c%s testfile)
Packit Service 97d2fb
echo "stripped size $SIZE_stripped"
Packit Service 97d2fb
test $SIZE_stripped -lt $SIZE_original ||
Packit Service 97d2fb
  { echo "*** failure in-place strip file not smaller $original"; exit 1; }
Packit Service 97d2fb
Packit Service 97d2fb
echo "elflint in-place"
Packit Service 97d2fb
testrun ${abs_top_builddir}/src/elflint --gnu -q testfile ||
Packit Service 97d2fb
{ echo "*** failure elflint in-place"; status=1; }
Packit Service 97d2fb
Packit Service 97d2fb
exit $status