]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit - ld/ChangeLog
testsuite: Support filtering targets by TCL procedure in `run_dump_test'
authorMaciej W. Rozycki <macro@mips.com>
Fri, 27 Apr 2018 14:25:20 +0000 (15:25 +0100)
committerMaciej W. Rozycki <macro@mips.com>
Fri, 27 Apr 2018 14:25:20 +0000 (15:25 +0100)
commit6d9dabbbc6e5205a969cf9643cb8040842f5e313
tree09f41cfee44519a7eaa3bfeaa251f864384bcd38
parentaa178437393fd97f706c3f8bdf60ab2cc53a8cb4
testsuite: Support filtering targets by TCL procedure in `run_dump_test'

Implement a more complex way of selecting targets to include or exclude
with `run_dump_test' cases, by extending the syntax for the `target',
`not-target', `skip' and `not-skip' options (with the binutils and GAS
test suites) and the `target', `alltargets' and `notarget' options (with
the LD test suite) to also accept a name of a TCL procedure instead of a
target triplet glob matching expression.  The result, 1 or 0, of the
procedure determines whether the test is to be run or not.  This mimics
and expands `dg-require-effective-target' from the GCC test suite.

Names of TCL procedures are supplied in square brackets `[]' as with TCL
procedure calls, observing that target triplet glob matching expressions
do not normally start and end with matching square brackets both at a
time.  Arguments for procedures are allowed if required.

Having a way to specify a complex condition for a `run_dump_test' case
to run has the advantage of keeping it local within the test case itself
where tool options related to the check might be also present, removing
the need to wrap `run_dump_test' calls into an `if' block whose only
reason is to do a feature check, and ultimately lets one have the test
reported as UNSUPPORTED automagically if required (not currently
supported by the `run_dump_test' options used for LD).

binutils/
* testsuite/lib/binutils-common.exp (match_target): New procedure.
* testsuite/lib/utils-lib.exp (run_dump_test): Use it in place
of `istarget' for matching with `target', `not-target', `skip'
and `not-skip' options.

gas/
* testsuite/lib/gas-defs.exp (run_dump_test): Use `match_target'
in place of `istarget' for matching with `target', `not-target',
`skip' and `not-skip' options.

ld/
* testsuite/lib/ld-lib.exp (run_dump_test): Use `match_target'
in place of `istarget' for matching with `target', `alltargets'
and `notarget' options.
binutils/ChangeLog
binutils/testsuite/lib/binutils-common.exp
binutils/testsuite/lib/utils-lib.exp
gas/ChangeLog
gas/testsuite/lib/gas-defs.exp
ld/ChangeLog
ld/testsuite/lib/ld-lib.exp