Browse Source

sim: testsuite: rework sim_init usage

The sim_init function was called by runtest for each test when --tool
was set to sim.  When we changed to --tool '' to collapse the testsuite
dir, the init function was no longer called on every test.  However, it
was still being called explicitly by config/default.exp.  It's not clear
why that explicit call ever existed since, in the past, it meant it was
redundant.

Lets drop the single sim_init call in config/default.exp and move it out
to all our tests.  This replicates the runtest behavior so we can setup
variables on a per-test basis which allows us to recollapse the sim_path
logic back.  We'll also leverage this in the future for toolchain setup.

Also add a few comments clarifying the overall runtime behavior.
binutils-2_38-branch
Mike Frysinger 4 years ago
parent
commit
c0d6a6e582
  1. 2
      sim/testsuite/aarch64/allinsn.exp
  2. 2
      sim/testsuite/arm/allinsn.exp
  3. 2
      sim/testsuite/arm/iwmmxt/iwmmxt.exp
  4. 2
      sim/testsuite/arm/misc.exp
  5. 2
      sim/testsuite/arm/thumb/allthumb.exp
  6. 2
      sim/testsuite/arm/xscale/xscale.exp
  7. 2
      sim/testsuite/avr/allinsn.exp
  8. 2
      sim/testsuite/bfin/allinsn.exp
  9. 2
      sim/testsuite/bpf/allinsn.exp
  10. 2
      sim/testsuite/config/default.exp
  11. 2
      sim/testsuite/cr16/allinsn.exp
  12. 2
      sim/testsuite/cr16/misc.exp
  13. 2
      sim/testsuite/cris/asm/asm.exp
  14. 5
      sim/testsuite/cris/c/c.exp
  15. 5
      sim/testsuite/cris/hw/rv-n-cris/rvc.exp
  16. 2
      sim/testsuite/d10v/allinsn.exp
  17. 2
      sim/testsuite/example-synacor/allinsn.exp
  18. 2
      sim/testsuite/frv/allinsn.exp
  19. 2
      sim/testsuite/frv/fr400/allinsn.exp
  20. 2
      sim/testsuite/frv/fr500/allinsn.exp
  21. 2
      sim/testsuite/frv/fr550/allinsn.exp
  22. 2
      sim/testsuite/frv/interrupts.exp
  23. 2
      sim/testsuite/frv/misc.exp
  24. 2
      sim/testsuite/frv/parallel.exp
  25. 2
      sim/testsuite/ft32/allinsn.exp
  26. 2
      sim/testsuite/h8300/allinsn.exp
  27. 2
      sim/testsuite/iq2000/allinsn.exp
  28. 43
      sim/testsuite/lib/sim-defs.exp
  29. 2
      sim/testsuite/lm32/allinsn.exp
  30. 2
      sim/testsuite/m32c/allinsn.exp
  31. 2
      sim/testsuite/m32r/allinsn.exp
  32. 2
      sim/testsuite/m32r/misc.exp
  33. 2
      sim/testsuite/m68hc11/allinsn.exp
  34. 2
      sim/testsuite/mcore/allinsn.exp
  35. 2
      sim/testsuite/microblaze/allinsn.exp
  36. 2
      sim/testsuite/mips/basic.exp
  37. 2
      sim/testsuite/mn10300/allinsn.exp
  38. 2
      sim/testsuite/moxie/allinsn.exp
  39. 2
      sim/testsuite/msp430/allinsn.exp
  40. 2
      sim/testsuite/or1k/alltests.exp
  41. 2
      sim/testsuite/pru/allinsn.exp
  42. 2
      sim/testsuite/riscv/allinsn.exp
  43. 2
      sim/testsuite/sh/allinsn.exp
  44. 2
      sim/testsuite/v850/allinsns.exp

2
sim/testsuite/aarch64/allinsn.exp

@ -1,5 +1,7 @@
# AArch64 simulator testsuite
sim_init
if [istarget aarch64*-*] {
# all machines
set all_machs "aarch64"

2
sim/testsuite/arm/allinsn.exp

@ -1,5 +1,7 @@
# ARM simulator testsuite.
sim_init
if { [istarget arm*-*-*] } {
# all machines
set all_machs "xscale"

2
sim/testsuite/arm/iwmmxt/iwmmxt.exp

@ -1,5 +1,7 @@
# Intel(r) Wireless MMX(tm) technology simulator testsuite.
sim_init
if { [istarget arm*-*-*] } {
# all machines
set all_machs "xscale"

2
sim/testsuite/arm/misc.exp

@ -1,5 +1,7 @@
# Miscellaneous ARM simulator testcases
sim_init
if { [istarget arm*-*-*] } {
# all machines
set all_machs "arm7tdmi"

2
sim/testsuite/arm/thumb/allthumb.exp

@ -1,5 +1,7 @@
# ARM simulator testsuite.
sim_init
if { [istarget arm*-*-*] } {
# all machines
set all_machs "arm7tdmi"

2
sim/testsuite/arm/xscale/xscale.exp

@ -1,5 +1,7 @@
# XSCALE simulator testsuite.
sim_init
if { [istarget arm*-*-*] } {
# all machines
set all_machs "xscale"

2
sim/testsuite/avr/allinsn.exp

@ -1,5 +1,7 @@
# avr simulator testsuite
sim_init
if [istarget avr-*] {
# all machines
set all_machs "avr"

2
sim/testsuite/bfin/allinsn.exp

@ -1,5 +1,7 @@
# Analog Devices Blackfin simulator testsuite
sim_init
if [istarget bfin-*-elf] {
# all machines
set all_machs "bfin"

2
sim/testsuite/bpf/allinsn.exp

@ -1,5 +1,7 @@
# eBPF simulator testsuite
sim_init
if [istarget bpf-unknown-none] {
# all machines
set all_machs "bpf"

2
sim/testsuite/config/default.exp

@ -1,5 +1,3 @@
# Simulator default dejagnu configuration file.
load_lib sim-defs.exp
sim_init

2
sim/testsuite/cr16/allinsn.exp

@ -1,5 +1,7 @@
# CR16 simulator testsuite.
sim_init
if [istarget cr16*-*-*] {
# all machines
set all_machs "cr16"

2
sim/testsuite/cr16/misc.exp

@ -1,5 +1,7 @@
# Miscellaneous CR16 simulator testcases
sim_init
if [istarget cr16*-*-*] {
# all machines
set all_machs "cr16"

2
sim/testsuite/cris/asm/asm.exp

@ -15,6 +15,8 @@
# Miscellaneous CRIS simulator testcases in assembly code.
sim_init
if [istarget cris*-*-*] {
global ASFLAGS_FOR_TARGET
# All machines we test and the corresponding assembler option. Needs

5
sim/testsuite/cris/c/c.exp

@ -15,6 +15,8 @@
# Miscellaneous CRIS simulator testcases testing syscall sequences.
sim_init
if ![istarget cris*-*-*] {
return
}
@ -69,6 +71,7 @@ proc anytarget { targets } {
return 0
}
global sim_path
foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
set orig_ldflags ""
@ -94,7 +97,7 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
continue
}
if ![file exists [sim_tool_path]] {
if ![file exists $sim_path] {
untested $testname
return 0
}

5
sim/testsuite/cris/hw/rv-n-cris/rvc.exp

@ -16,15 +16,18 @@
# Miscellaneous CRIS simulator testcases in assembly code, testing
# dv-rv.c and dv-cris.c functions.
sim_init
# Check whether dv-rv and dv-cris are present.
proc sim_has_rv_and_cris {} {
global srcdir
global subdir
global objdir
global sim_path
global SIMFLAGS_FOR_TARGET
if ![file exists [sim_tool_path]] {
if ![file exists $sim_path] {
return 0
}

2
sim/testsuite/d10v/allinsn.exp

@ -1,5 +1,7 @@
# d10v simulator testsuite.
sim_init
if [istarget d10v*-*] {
# all machines
set all_machs "d10v"

2
sim/testsuite/example-synacor/allinsn.exp

@ -1,5 +1,7 @@
# Example synacor simulator testsuite.
sim_init
if [istarget *] {
# All machines.
set all_machs "example"

2
sim/testsuite/frv/allinsn.exp

@ -1,5 +1,7 @@
# FRV simulator testsuite.
sim_init
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550 fr400 fr405 fr450"

2
sim/testsuite/frv/fr400/allinsn.exp

@ -1,5 +1,7 @@
# FRV simulator testsuite.
sim_init
if [istarget frv*-*] {
# all machines
set all_machs "fr400 fr405 fr450 fr550"

2
sim/testsuite/frv/fr500/allinsn.exp

@ -1,5 +1,7 @@
# FRV simulator testsuite.
sim_init
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550"

2
sim/testsuite/frv/fr550/allinsn.exp

@ -1,5 +1,7 @@
# FRV simulator testsuite.
sim_init
if [istarget frv*-*] {
# all machines
set all_machs "fr550"

2
sim/testsuite/frv/interrupts.exp

@ -1,5 +1,7 @@
# FRV simulator testsuite.
sim_init
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550 fr400"

2
sim/testsuite/frv/misc.exp

@ -1,5 +1,7 @@
# Miscellaneous FRV simulator testcases.
sim_init
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550 fr400 fr405 fr450"

2
sim/testsuite/frv/parallel.exp

@ -1,5 +1,7 @@
# FRV simulator testsuite.
sim_init
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550 fr400"

2
sim/testsuite/ft32/allinsn.exp

@ -1,5 +1,7 @@
# ft32 simulator testsuite
sim_init
if [istarget ft32-*] {
# all machines
set all_machs "ft32"

2
sim/testsuite/h8300/allinsn.exp

@ -1,5 +1,7 @@
# Hitachi H8/300 (h, s, sx) simulator testsuite
sim_init
if {[istarget h8300*-*-*] || [istarget h8sx*-*-*]} then {
set all_machs "h8300 h8300h h8300s h8sx"

2
sim/testsuite/iq2000/allinsn.exp

@ -1,5 +1,7 @@
# iq2000 simulator testsuite
sim_init
if [istarget iq2000-*] {
# all machines
set all_machs "iq2000"

43
sim/testsuite/lib/sim-defs.exp

@ -7,12 +7,22 @@
set sim_path "unknown-run"
# Initialize the testrun.
# Required by dejagnu.
#
# Normally dejagnu will execute ${tool}_init automatically, but since we set
# --tool '' (for a simpler testsuite/ layout), we have each test call this
# itself.
proc sim_init { args } {
global builddir
global subdir
global sim_path
set sim_path [board_info target sim]
# Need to return an empty string (copied from GAS).
# Find the path to the simulator for executing.
set arch "$subdir"
while { [file dirname $arch] != "." } {
set arch [file dirname $arch]
}
set sim_path "$builddir/$arch/run"
# As gross as it is, we unset the linker script specified by the target
# board. The simulator board file mips-sim.exp, sets ldscript to the
@ -23,6 +33,8 @@ proc sim_init { args } {
# all simulators.
unset_currtarget_info ldscript
# Need to return an empty string. This tells dejagnu to *not* re-run us
# with the exact test that we're about to run.
return ""
}
@ -35,22 +47,6 @@ proc sim_version {} {
clone_output "$sim_path $version\n"
}
# Find the path to the simulator for executing.
proc sim_tool_path {} {
global sim_path
set sim "$sim_path"
if [string equal "" $sim] {
global builddir
global subdir
set arch "$subdir"
while { [file dirname $arch] != "." } {
set arch [file dirname $arch]
}
return "$builddir/$arch/run"
}
return "$sim"
}
# Run a program on the simulator.
# Required by dejagnu (at least ${tool}_run used to be).
#
@ -73,6 +69,8 @@ proc sim_tool_path {} {
# simulator (not the simulated program, the simulator) with sim_load.
proc sim_run { prog sim_opts prog_opts redir options } {
global sim_path
# Set the default value of the timeout.
# FIXME: The timeout value we actually want is a function of
# host, target, and testcase.
@ -99,7 +97,7 @@ proc sim_run { prog sim_opts prog_opts redir options } {
verbose "testcase timeout is set to $testcase_timeout" 1
set sim [sim_tool_path]
set sim $sim_path
if [is_remote host] {
set prog [remote_download host $prog]
@ -182,13 +180,14 @@ proc sim_run { prog sim_opts prog_opts redir options } {
proc run_sim_test { name requested_machs } {
global subdir srcdir objdir
global sim_path
global opts
global cpu_option
global cpu_option_sep
global SIMFLAGS_FOR_TARGET
if ![file exists [sim_tool_path]] {
unsupported "$name: missing simulator [sim_tool_path]"
if ![file exists $sim_path] {
unsupported "$name: missing simulator $sim_path"
return
}

2
sim/testsuite/lm32/allinsn.exp

@ -1,5 +1,7 @@
# lm32 simulator testsuite
sim_init
if [istarget lm32-*] {
# all machines
set all_machs "lm32"

2
sim/testsuite/m32c/allinsn.exp

@ -1,6 +1,8 @@
# M32C simulator testsuite.
# TODO: Add support for .c tests.
sim_init
if [istarget m32c*-*-*] {
# all machines
set all_machs "m32c"

2
sim/testsuite/m32r/allinsn.exp

@ -1,5 +1,7 @@
# M32R simulator testsuite.
sim_init
if [istarget m32r*-*-*] {
# all machines
set all_machs "m32r"

2
sim/testsuite/m32r/misc.exp

@ -1,5 +1,7 @@
# Miscellaneous M32R simulator testcases
sim_init
if [istarget m32r*-*-*] {
# all machines
set all_machs "m32r"

2
sim/testsuite/m68hc11/allinsn.exp

@ -1,5 +1,7 @@
# m68hc11 simulator testsuite
sim_init
if [istarget m68hc11-*] {
# all machines
set all_machs "m68hc11"

2
sim/testsuite/mcore/allinsn.exp

@ -1,5 +1,7 @@
# mcore simulator testsuite
sim_init
if [istarget mcore-*] {
# all machines
set all_machs "mcore"

2
sim/testsuite/microblaze/allinsn.exp

@ -1,5 +1,7 @@
# microblaze simulator testsuite
sim_init
if [istarget microblaze-*] {
# all machines
set all_machs "microblaze"

2
sim/testsuite/mips/basic.exp

@ -1,5 +1,7 @@
# MIPS simulator instruction tests
sim_init
# Do "run_sim_test TESTFILE MODELS" for each combination of the
# mf{lo,hi} -> mult/div/mt{lo,hi} hazard described in mips.igen.
# Insert NOPS nops after the mflo or mfhi.

2
sim/testsuite/mn10300/allinsn.exp

@ -1,5 +1,7 @@
# mn10300 simulator testsuite
sim_init
if [istarget mn10300-*] {
# all machines
set all_machs "mn10300"

2
sim/testsuite/moxie/allinsn.exp

@ -1,5 +1,7 @@
# moxie simulator testsuite
sim_init
if [istarget moxie-*] {
# all machines
set all_machs "moxie"

2
sim/testsuite/msp430/allinsn.exp

@ -1,5 +1,7 @@
# msp430 simulator testsuite
sim_init
if [istarget msp430-*] {
# all machines
set all_machs "msp430"

2
sim/testsuite/or1k/alltests.exp

@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
sim_init
if [istarget or1k*-*-*] {
set all_machs "or1k"

2
sim/testsuite/pru/allinsn.exp

@ -18,6 +18,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
sim_init
if [istarget pru-*] {
# all machines
set all_machs "pru"

2
sim/testsuite/riscv/allinsn.exp

@ -1,5 +1,7 @@
# RISC-V simulator testsuite.
sim_init
if [istarget riscv*-*] {
# all machines
set all_machs "riscv"

2
sim/testsuite/sh/allinsn.exp

@ -1,5 +1,7 @@
# sh tests
sim_init
set all_machs "sh shdsp"
global ASFLAGS_FOR_TARGET

2
sim/testsuite/v850/allinsns.exp

@ -1,5 +1,7 @@
# v850 simulator testsuite.
sim_init
if [istarget v850*-*] {
# All machines.
# Should add more cpus if the testsuite adds coverage for their insns, but

Loading…
Cancel
Save