aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.dap
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-02-22 11:35:26 +0100
committerTom de Vries <tdevries@suse.de>2024-02-22 11:35:26 +0100
commit05bf17f03b890424312163463754de63cee73074 (patch)
tree3cda5bb491daeeae0bbbee7b5fbd61394d076882 /gdb/testsuite/gdb.dap
parent67cf0bd885e3862fb77de0039208d39cc89dba91 (diff)
downloadgdb-05bf17f03b890424312163463754de63cee73074.zip
gdb-05bf17f03b890424312163463754de63cee73074.tar.gz
gdb-05bf17f03b890424312163463754de63cee73074.tar.bz2
[gdb/dap] Fix race between dap startup and dap log file
In dap_gdb_start we do: ... append GDBFLAGS " -iex \"set debug dap-log-file $logfile\" -q -i=dap" ... While the dap log file setting comes before the dap interpreter setting, the order is the other way around: - first, the dap interpreter is started - second, the -iex commands are executed and the log file is initialized. Consequently, there's a race between dap interpreter startup and dap log file initialization. This cannot be fixed by using -eiex instead. Before the interpreter is started, the "set debug dap-log-file" command is not yet registered. Fix this by postponing the start of the DAP server until GDB has processed all command files. Tested on aarch64-linux. Approved-By: Tom Tromey <tom@tromey.com> PR dap/31386 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31386
Diffstat (limited to 'gdb/testsuite/gdb.dap')
-rw-r--r--gdb/testsuite/gdb.dap/eof.exp3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.dap/eof.exp b/gdb/testsuite/gdb.dap/eof.exp
index 9c17725..a84b1d2 100644
--- a/gdb/testsuite/gdb.dap/eof.exp
+++ b/gdb/testsuite/gdb.dap/eof.exp
@@ -35,3 +35,6 @@ catch "wait -i $gdb_spawn_id"
unset gdb_spawn_id
dap_check_log_file
+
+# Check that first log message is present.
+dap_check_log_file_re [string_to_regexp "starting DAP server"]