From 412cc54eb9847848c9cea2e54636cb2e7bd17460 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 6 Mar 2007 02:08:25 +0000 Subject: [PATCH] 2007-03-05 H.J. Lu PR gas/3918 * lib/gas-defs.exp (gas_started): New variable. Initialized to 0. (gas_start): Set gas_started to 1. (gas_finish): Skip if gas_started is 0. Reset gas_started to 0. --- gas/testsuite/ChangeLog | 8 ++++++++ gas/testsuite/lib/gas-defs.exp | 17 +++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index f21d973..57ac6ec 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2007-03-05 H.J. Lu + + PR gas/3918 + * lib/gas-defs.exp (gas_started): New variable. Initialized to + 0. + (gas_start): Set gas_started to 1. + (gas_finish): Skip if gas_started is 0. Reset gas_started to 0. + 2007-03-02 Paul Brook * gas/arm/relax_branch_align.d: New test. diff --git a/gas/testsuite/lib/gas-defs.exp b/gas/testsuite/lib/gas-defs.exp index 827e22f..3b21719 100644 --- a/gas/testsuite/lib/gas-defs.exp +++ b/gas/testsuite/lib/gas-defs.exp @@ -53,12 +53,21 @@ proc all_ones { args } { return 1 } +# ${tool}_finish (gas_finish) will be called by runtest.exp. But +# gas_finish should only be used with gas_start. We use gas_started +# to tell gas_finish if gas_start has been called so that runtest.exp +# can call gas_finish without closing the wrong fd. +set gas_started 0 + proc gas_start { prog as_opts } { global AS global ASFLAGS global srcdir global subdir global spawn_id + global gas_started + + set gas_started 1 verbose -log "Starting $AS $ASFLAGS $as_opts $prog" 2 catch { @@ -71,9 +80,13 @@ proc gas_start { prog as_opts } { proc gas_finish { } { global spawn_id + global gas_started - catch "close" - catch "wait" + if { $gas_started == 1 } { + catch "close" + catch "wait" + set gas_started 0 + } } proc want_no_output { testname } { -- 2.7.4