[binutils-gdb] [gdb/testsuite] Introduce allow_dap_tests

Tom de Vries vries@sourceware.org
Sun Mar 26 11:45:03 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=95e592d9ab1e79272018b8b6b6821bf053cd665b

commit 95e592d9ab1e79272018b8b6b6821bf053cd665b
Author: Tom de Vries <tdevries@suse.de>
Date:   Sun Mar 26 13:44:58 2023 +0200

    [gdb/testsuite] Introduce allow_dap_tests
    
    Simon pointed out that with gdb.dap/*.exp and target board
    native-gdbserver, we run into problems.
    
    I see for each test-case:
    ...
    +++ run
    Traceback (most recent call last):
      File "startup.py", line 146, in exec_and_log
        output = gdb.execute(cmd, from_tty=True, to_string=True)
    gdb.error: Don't know how to run.  Try "help target".
    ...
    
    Likewise with target board native-extended-gdbserver.
    
    Fix this by:
    - adding a new proc allow_dap_tests,
    - using it in all the gdb.dap tests, and
    - bailing out if GDBFLAGS/INTERNAL_GDBFLAGS contains
      "set auto-connect-native-target off".
    
    Tested on x86_64-linux.
    
    Reported-By: Simon Marchi <simon.marchi@efficios.com>
    Approved-By: Tom Tromey <tom@tromey.com>

Diff:
---
 gdb/testsuite/gdb.dap/basic-dap.exp  |  2 +-
 gdb/testsuite/gdb.dap/bt-nodebug.exp |  2 ++
 gdb/testsuite/gdb.dap/scopes.exp     |  2 +-
 gdb/testsuite/lib/gdb.exp            | 15 +++++++++++++++
 4 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/gdb/testsuite/gdb.dap/basic-dap.exp b/gdb/testsuite/gdb.dap/basic-dap.exp
index 5e6e1b5d6d4..0026690ba44 100644
--- a/gdb/testsuite/gdb.dap/basic-dap.exp
+++ b/gdb/testsuite/gdb.dap/basic-dap.exp
@@ -15,7 +15,7 @@
 
 # Basic DAP test.
 
-require allow_python_tests
+require allow_dap_tests
 
 load_lib dap-support.exp
 
diff --git a/gdb/testsuite/gdb.dap/bt-nodebug.exp b/gdb/testsuite/gdb.dap/bt-nodebug.exp
index e365f0877d4..e4dcef35a67 100644
--- a/gdb/testsuite/gdb.dap/bt-nodebug.exp
+++ b/gdb/testsuite/gdb.dap/bt-nodebug.exp
@@ -15,6 +15,8 @@
 
 # Test DAP 'bt' through a function without debuginfo.
 
+require allow_dap_tests
+
 load_lib dap-support.exp
 
 standard_testfile bt-main.c bt-inner.c
diff --git a/gdb/testsuite/gdb.dap/scopes.exp b/gdb/testsuite/gdb.dap/scopes.exp
index 0fa9e211105..2c4b9ed81a5 100644
--- a/gdb/testsuite/gdb.dap/scopes.exp
+++ b/gdb/testsuite/gdb.dap/scopes.exp
@@ -15,7 +15,7 @@
 
 # Test "scopes" and "variables".
 
-require allow_python_tests
+require allow_dap_tests
 
 load_lib dap-support.exp
 
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index dd392477b9a..3cfe22b32cd 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -2488,6 +2488,21 @@ gdb_caching_proc allow_python_tests {} {
     return [expr {[string first "--with-python" $output] != -1}]
 }
 
+gdb_caching_proc allow_dap_tests {} {
+    if { ![allow_python_tests] } {
+	return 0
+    }
+
+    # With set auto-connect-native-target off, we run into:
+    # +++ run
+    # Traceback (most recent call last):
+    #   File "startup.py", line <n>, in exec_and_log
+    #     output = gdb.execute(cmd, from_tty=True, to_string=True)
+    # gdb.error: Don't know how to run.  Try "help target".
+    set gdb_flags [join $::GDBFLAGS $::INTERNAL_GDBFLAGS]
+    return [expr {[string first "set auto-connect-native-target off" $gdb_flags] == -1}]
+}
+
 # Return a 1 if we should run shared library tests.
 
 proc allow_shlib_tests {} {


More information about the Gdb-cvs mailing list