diff options
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/gdb.base/valgrind-bt.exp | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/valgrind-disp-step.exp | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/valgrind-infcall-2.exp | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/valgrind-infcall.exp | 7 | ||||
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 30 |
5 files changed, 38 insertions, 20 deletions
diff --git a/gdb/testsuite/gdb.base/valgrind-bt.exp b/gdb/testsuite/gdb.base/valgrind-bt.exp index 440c6e4..5467014 100644 --- a/gdb/testsuite/gdb.base/valgrind-bt.exp +++ b/gdb/testsuite/gdb.base/valgrind-bt.exp @@ -13,11 +13,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/>. -if { [gdb_skip_xml_test] } { - # Valgrind gdbserver requires gdb with xml support. - untested "missing xml support" - return 0 -} +# Valgrind gdbserver requires gdb with xml support. +require gdb_skip_xml_test 0 load_lib valgrind.exp diff --git a/gdb/testsuite/gdb.base/valgrind-disp-step.exp b/gdb/testsuite/gdb.base/valgrind-disp-step.exp index 88ac848..c1ed5a3 100644 --- a/gdb/testsuite/gdb.base/valgrind-disp-step.exp +++ b/gdb/testsuite/gdb.base/valgrind-disp-step.exp @@ -18,11 +18,8 @@ # really tests is that GDB falls back to in-line stepping # automatically instead of getting stuck or crashing. -if { [gdb_skip_xml_test] } { - # Valgrind gdbserver requires gdb with xml support. - untested "missing xml support" - return 0 -} +# Valgrind gdbserver requires gdb with xml support. +require gdb_skip_xml_test 0 load_lib valgrind.exp diff --git a/gdb/testsuite/gdb.base/valgrind-infcall-2.exp b/gdb/testsuite/gdb.base/valgrind-infcall-2.exp index a368717..064cf71 100644 --- a/gdb/testsuite/gdb.base/valgrind-infcall-2.exp +++ b/gdb/testsuite/gdb.base/valgrind-infcall-2.exp @@ -29,11 +29,8 @@ # terminate called after throwing an instance of 'gdb_exception_error' # Aborted (core dumped) -if { [gdb_skip_xml_test] } { - # Valgrind gdbserver requires gdb with xml support. - untested "missing xml support" - return 0 -} +# Valgrind gdbserver requires gdb with xml support. +require gdb_skip_xml_test 0 load_lib valgrind.exp diff --git a/gdb/testsuite/gdb.base/valgrind-infcall.exp b/gdb/testsuite/gdb.base/valgrind-infcall.exp index 9f49a32..68bc1b8 100644 --- a/gdb/testsuite/gdb.base/valgrind-infcall.exp +++ b/gdb/testsuite/gdb.base/valgrind-infcall.exp @@ -13,11 +13,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/>. -if { [gdb_skip_xml_test] } { - # Valgrind gdbserver requires gdb with xml support. - untested "missing xml support" - return 0 -} +# Valgrind gdbserver requires gdb with xml support. +require gdb_skip_xml_test 0 load_lib valgrind.exp diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 5642db4..6a5cdc0 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -8215,5 +8215,35 @@ gdb_caching_proc have_avx { return $status } +# Called as either: +# - require EXPR VAL +# - require EXPR OP VAL +# In the first case, OP is ==. +# +# Require EXPR OP VAL, where EXPR is evaluated in caller context. If not, +# return in the caller's context. + +proc require { fn arg1 {arg2 ""} } { + if { $arg2 == "" } { + set op == + set val $arg1 + } else { + set op $arg1 + set val $arg2 + } + set res [uplevel 1 $fn] + if { [expr $res $op $val] } { + return + } + + switch "$fn $op $val" { + "gdb_skip_xml_test == 0" { set msg "missing xml support" } + default { set msg "$fn != $val" } + } + + untested $msg + return -code return 0 +} + # Always load compatibility stuff. load_lib future.exp |