[v2,3/4] Add a have_native_target helper function for use with require.

Message ID 20230706172337.39099-4-jhb@FreeBSD.org
State New
Headers
Series Handle null inferiors in target::read_description |

Commit Message

John Baldwin July 6, 2023, 5:23 p.m. UTC
  Move logic from auto-connect-native-target.exp into this helper.
---
 .../gdb.base/auto-connect-native-target.exp    | 18 +-----------------
 gdb/testsuite/lib/gdb.exp                      | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 17 deletions(-)
  

Patch

diff --git a/gdb/testsuite/gdb.base/auto-connect-native-target.exp b/gdb/testsuite/gdb.base/auto-connect-native-target.exp
index 002a6d61126..0586cd4baf4 100644
--- a/gdb/testsuite/gdb.base/auto-connect-native-target.exp
+++ b/gdb/testsuite/gdb.base/auto-connect-native-target.exp
@@ -22,23 +22,7 @@  if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
     return -1
 }
 
-# Whether this GDB is configured with a "native" target.
-set have_native 0
-
-set test "help target native"
-gdb_test_multiple $test $test {
-    -re "Undefined target command.*$gdb_prompt $" {
-	set have_native 0
-    }
-    -re "Native process.*$gdb_prompt $" {
-	set have_native 1
-    }
-}
-
-if { !$have_native } {
-    unsupported "no \"target native\" support."
-    return
-}
+require have_native_target
 
 # Returns the topmost target pushed on the target stack.  TEST is used
 # as test message.
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index b4900ae25a6..0a7c593672a 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -9807,6 +9807,20 @@  gdb_caching_proc have_compile_and_link_flag { flag } {
 		additional_flags=$flag]
 }
 
+# Return 1 if this GDB is configured with a "native" target.
+
+gdb_caching_proc have_native_target {} {
+    gdb_test_multiple "help target native" "" {
+	-re -wrap "Undefined target command.*" {
+	    return 0
+	}
+	-re -wrap "Native process.*" {
+	    return 1
+	}
+    }
+    return 0
+}
+
 # Handle include file $srcdir/$subdir/FILE.
 
 proc include_file { file } {