# 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
# 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
# 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
# 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
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