This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] binutils/testsuite: Permit the reuse of dump patterns
- From: "Maciej W. Rozycki" <macro at imgtec dot com>
- To: <binutils at sourceware dot org>
- Cc: Alan Modra <amodra at gmail dot com>, "Jose E. Marchesi" <jose dot marchesi at oracle dot com>
- Date: Fri, 19 May 2017 15:08:16 +0100
- Subject: [PATCH] binutils/testsuite: Permit the reuse of dump patterns
- Authentication-results: sourceware.org; auth=none
Complement commit 89210bdc8fd2 ("GAS: Permit the reuse of dump
patterns"), <https://sourceware.org/ml/binutils/2010-07/msg00269.html>,
and commit ef2b5578f693 ("MIPS: Enable NewABI tests for SDE targets"),
<https://sourceware.org/ml/binutils/2012-08/msg00017.html>, and like the
GAS and LD versions make the binutils version of `run_dump_test' also
support the `dump' keyword, for reusing dump patterns between tests.
binutils/
* testsuite/lib/utils-lib.exp (run_dump_test): Handle the `dump'
option.
---
Regrettably the change to ld/testsuite/lib/ld-lib.exp was not made as a
separate commit as it should have been, and was instead buried in a larger
set of changes. All the three changes to respective `run_dump_test'
implementations are equivalent and differences are merely adaptations to
existing divergence in code.
OK to apply?
Maciej
binutils-binutils-test-dump.diff
Index: binutils/binutils/testsuite/lib/utils-lib.exp
===================================================================
--- binutils.orig/binutils/testsuite/lib/utils-lib.exp 2017-05-18 18:30:13.000000000 +0100
+++ binutils/binutils/testsuite/lib/utils-lib.exp 2017-05-18 18:36:49.322203383 +0100
@@ -214,6 +214,11 @@ proc exe_ext {} {
# Assemble the file SOURCE.s. If omitted, this defaults to FILE.s.
# This is useful if several .d files want to share a .s file.
#
+# dump: DUMP
+# Match against DUMP.d. If omitted, this defaults to FILE.d. This
+# is useful if several .d files differ by options only. Options are
+# always read from FILE.d.
+#
# target: GLOBS...
# Run this test only on a specified list of targets. More precisely,
# each glob in the space-separated list is passed to "istarget"; if
@@ -299,6 +304,7 @@ proc run_dump_test { name {extra_options
set opts(PROG) {}
set opts(DUMPPROG) {}
set opts(source) {}
+ set opts(dump) {}
set opts(target) {}
set opts(not-target) {}
set opts(skip) {}
@@ -456,6 +462,12 @@ proc run_dump_test { name {extra_options
set srcfile $srcdir/$subdir/$opts(source)
}
+ if { $opts(dump) == "" } {
+ set dumpfile ${file}.d
+ } else {
+ set dumpfile $srcdir/$subdir/$opts(dump)
+ }
+
if { $opts(as) == "binary" } {
while {[file type $srcfile] eq "link"} {
set newfile [file readlink $srcfile]
@@ -535,7 +547,7 @@ proc run_dump_test { name {extra_options
}
verbose_eval {[file_contents "tmpdir/dump.out"]} 3
- if { [regexp_diff "tmpdir/dump.out" "${file}.d"] } then {
+ if { [regexp_diff "tmpdir/dump.out" "${dumpfile}"] } then {
fail $testname
verbose "output is [file_contents "tmpdir/dump.out"]" 2
return