summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2007-05-18 08:59:43 +0000
committerRoland McGrath <roland@redhat.com>2007-05-18 08:59:43 +0000
commit9aa8ef7fbb5ada14b7c4585d6c1361aa5eab6f88 (patch)
treec4f8af4da6f99ec9b5cc07a90268305c1c7a9853 /tests
parent2be0291b2cc06fc253c73a1564b126580c8f5ea2 (diff)
downloadelfutils-9aa8ef7fbb5ada14b7c4585d6c1361aa5eab6f88.tar.gz
src/
2007-05-18 Roland McGrath <roland@redhat.com> * unstrip.c (copy_elided_sections): Match up non-NOBITS sections with stripped file, so as not to duplicate a section copied in both. * strip.c (handle_elf): Keep SHT_NOTE section copies in the debug file. tests/ 2007-05-18 Roland McGrath <roland@redhat.com> * run-strip-test4.sh (stripped, debugfile): Use new reference files. * testfile37.bz2: New data file. * testfile37.debug.bz2: New data file. * run-unstrip-test2.sh: New file. * Makefile.am (TESTS, EXTRA_DIST): Add them.
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog25
-rw-r--r--tests/Makefile.am12
-rwxr-xr-xtests/run-dwfl-bug-offline-rel.sh36
-rwxr-xr-xtests/run-strip-test.sh12
-rwxr-xr-xtests/run-strip-test4.sh4
-rwxr-xr-xtests/run-strip-test6.sh4
-rwxr-xr-xtests/run-unstrip-test.sh41
-rwxr-xr-xtests/run-unstrip-test2.sh5
-rw-r--r--tests/testfile35.bz2bin0 -> 1643 bytes
-rw-r--r--tests/testfile35.debug.bz2bin0 -> 9106 bytes
-rw-r--r--tests/testfile36.bz2bin0 -> 714 bytes
-rw-r--r--tests/testfile36.debug.bz2bin0 -> 24909 bytes
-rw-r--r--tests/testfile37.bz2bin0 -> 3140 bytes
-rw-r--r--tests/testfile37.debug.bz2bin0 -> 28522 bytes
14 files changed, 126 insertions, 13 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 89fbab7c..3424c1e2 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,28 @@
+2007-05-18 Roland McGrath <roland@redhat.com>
+
+ * run-strip-test4.sh (stripped, debugfile): Use new reference files.
+ * testfile37.bz2: New data file.
+ * testfile37.debug.bz2: New data file.
+ * run-unstrip-test2.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add them.
+
+2007-05-10 Roland McGrath <roland@redhat.com>
+
+ * run-dwfl-bug-offline-rel.sh: New file.
+ * testfile36.bz2: New data file.
+ * testfile36.debug.bz2: New data file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add them.
+
+2007-04-28 Roland McGrath <roland@redhat.com>
+
+ * run-strip-test6.sh (stripped, debugfile): Use new reference files.
+ * testfile35.bz2: New data file.
+ * testfile35.debug.bz2: New data file.
+ * run-unstrip-test.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add them.
+
+ * run-strip-test.sh: Do all elflint and cmp runs even when some fail.
+
2007-04-26 Roland McGrath <roland@redhat.com>
* run-elflint-self.sh: Run all tests even if one fails.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 0715fff8..f485acd1 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -71,13 +71,15 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
run-show-abbrev.sh run-line2addr.sh hash \
newscn run-strip-test.sh run-strip-test2.sh \
run-strip-test3.sh run-strip-test4.sh run-strip-test5.sh \
- run-strip-test6.sh run-ecp-test.sh run-ecp-test2.sh \
+ run-strip-test6.sh run-unstrip-test.sh run-unstrip-test2.sh \
+ run-ecp-test.sh run-ecp-test2.sh \
run-elflint-test.sh run-elflint-self.sh run-ranlib-test.sh \
run-ranlib-test2.sh run-ranlib-test3.sh run-ranlib-test4.sh \
run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
run-find-prologues.sh run-allregs.sh run-readelf-test1.sh \
run-native-test.sh run-bug1-test.sh \
- dwfl-bug-addr-overflow run-addrname-test.sh dwfl-bug-fd-leak
+ dwfl-bug-addr-overflow run-addrname-test.sh dwfl-bug-fd-leak \
+ run-dwfl-bug-offline-rel.sh
# run-show-ciefde.sh
if !STANDALONE
@@ -102,11 +104,12 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile13.bz2 run-strip-test3.sh run-allfcts.sh \
run-line2addr.sh run-elflint-test.sh testfile14.bz2 \
run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \
+ run-unstrip-test.sh run-unstrip-test2.sh \
run-elflint-self.sh run-ranlib-test.sh run-ranlib-test2.sh \
run-ranlib-test3.sh run-ranlib-test4.sh \
run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
run-find-prologues.sh run-allregs.sh run-native-test.sh \
- run-addrname-test.sh \
+ run-addrname-test.sh run-dwfl-bug-offline-rel.sh \
testfile15.bz2 testfile15.debug.bz2 \
testfile16.bz2 testfile16.debug.bz2 \
testfile17.bz2 testfile17.debug.bz2 \
@@ -119,7 +122,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-bug1-test.sh testfile28.bz2 testfile28.rdwr.bz2 \
testfile29.bz2 testfile29.rdwr.bz2 \
testfile30.bz2 testfile31.bz2 testfile32.bz2 testfile33.bz2 \
- testfile34.bz2
+ testfile34.bz2 testfile35.bz2 testfile35.debug.bz2
+ testfile36.bz2 testfile36.debug.bz2
installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \
bindir=$(DESTDIR)$(bindir) \
diff --git a/tests/run-dwfl-bug-offline-rel.sh b/tests/run-dwfl-bug-offline-rel.sh
new file mode 100755
index 00000000..40e90bec
--- /dev/null
+++ b/tests/run-dwfl-bug-offline-rel.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile36 testfile36.debug
+
+testrun_compare ./dwflmodtest -e testfile36 <<\EOF
+module: 00000000..00002308 testfile36 (null)
+module: 00000000 (nil) 0 (Callback returned failure)
+module: 00000000..00002308 testfile36 testfile36.debug
+EOF
+
+exit 0
diff --git a/tests/run-strip-test.sh b/tests/run-strip-test.sh
index 9a82d53d..480101eb 100755
--- a/tests/run-strip-test.sh
+++ b/tests/run-strip-test.sh
@@ -36,16 +36,18 @@ tempfiles testfile.temp testfile.debug.temp testfile.unstrip
testrun ../src/strip -o testfile.temp $debugout $original
-cmp $stripped testfile.temp
+status=0
+
+cmp $stripped testfile.temp || status=$?
# Check elflint and the expected result.
-testrun ../src/elflint -q testfile.temp
+testrun ../src/elflint -q testfile.temp || status=$?
test -z "$debugfile" || {
-cmp $debugfile testfile.debug.temp
+cmp $debugfile testfile.debug.temp || status=$?
# Check elflint and the expected result.
-testrun ../src/elflint -q -d testfile.debug.temp
+testrun ../src/elflint -q -d testfile.debug.temp || status=$?
# Now test unstrip recombining those files.
testrun ../src/unstrip -o testfile.unstrip testfile.temp testfile.debug.temp
@@ -54,4 +56,4 @@ testrun ../src/unstrip -o testfile.unstrip testfile.temp testfile.debug.temp
testrun ../src/elfcmp --hash-inexact $original testfile.unstrip
}
-exit 0
+exit $status
diff --git a/tests/run-strip-test4.sh b/tests/run-strip-test4.sh
index 8e9be228..64924a92 100755
--- a/tests/run-strip-test4.sh
+++ b/tests/run-strip-test4.sh
@@ -1,5 +1,5 @@
original=testfile11
-stripped=testfile15
-debugfile=testfile15.debug
+stripped=testfile37
+debugfile=testfile37.debug
. $srcdir/run-strip-test.sh
diff --git a/tests/run-strip-test6.sh b/tests/run-strip-test6.sh
index 8ee5f02c..c59bf5e4 100755
--- a/tests/run-strip-test6.sh
+++ b/tests/run-strip-test6.sh
@@ -1,5 +1,5 @@
original=testfile12
-stripped=testfile17
-debugfile=testfile17.debug
+stripped=testfile35
+debugfile=testfile35.debug
. $srcdir/run-strip-test.sh
diff --git a/tests/run-unstrip-test.sh b/tests/run-unstrip-test.sh
new file mode 100755
index 00000000..67029051
--- /dev/null
+++ b/tests/run-unstrip-test.sh
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+original=${original:-testfile12}
+stripped=${stripped:-testfile17}
+debugfile=${debugfile:-${stripped}.debug}
+
+testfiles $original $stripped $debugfile
+
+# These are old reference output from run-test-strip6.sh, when
+# strip left the .debug file with unchanged sh_size in
+# stripped sections that shrank in the stripped file. strip
+# no longer does that, but unstrip must still handle it.
+
+testrun ../src/unstrip -o testfile.unstrip $stripped $debugfile
+
+testrun ../src/elfcmp --hash-inexact $original testfile.unstrip
diff --git a/tests/run-unstrip-test2.sh b/tests/run-unstrip-test2.sh
new file mode 100755
index 00000000..44074c19
--- /dev/null
+++ b/tests/run-unstrip-test2.sh
@@ -0,0 +1,5 @@
+original=testfile11
+stripped=testfile15
+debugfile=testfile15.debug
+
+. $srcdir/run-unstrip-test.sh
diff --git a/tests/testfile35.bz2 b/tests/testfile35.bz2
new file mode 100644
index 00000000..b5913015
--- /dev/null
+++ b/tests/testfile35.bz2
Binary files differ
diff --git a/tests/testfile35.debug.bz2 b/tests/testfile35.debug.bz2
new file mode 100644
index 00000000..f1918627
--- /dev/null
+++ b/tests/testfile35.debug.bz2
Binary files differ
diff --git a/tests/testfile36.bz2 b/tests/testfile36.bz2
new file mode 100644
index 00000000..e912a197
--- /dev/null
+++ b/tests/testfile36.bz2
Binary files differ
diff --git a/tests/testfile36.debug.bz2 b/tests/testfile36.debug.bz2
new file mode 100644
index 00000000..76aca42e
--- /dev/null
+++ b/tests/testfile36.debug.bz2
Binary files differ
diff --git a/tests/testfile37.bz2 b/tests/testfile37.bz2
new file mode 100644
index 00000000..254ce324
--- /dev/null
+++ b/tests/testfile37.bz2
Binary files differ
diff --git a/tests/testfile37.debug.bz2 b/tests/testfile37.debug.bz2
new file mode 100644
index 00000000..74e46a87
--- /dev/null
+++ b/tests/testfile37.debug.bz2
Binary files differ