aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-02-21 10:46:08 +0100
committerTom de Vries <tdevries@suse.de>2024-02-21 10:46:08 +0100
commit3c3fe724f5f579b76e8adafb91517fbd6f34ecdc (patch)
treebb5471d6aff7e23dce20bc5d7d05e59add140116
parent9eb450d26f28f78b0b7d665971e190f583034150 (diff)
downloadgdb-3c3fe724f5f579b76e8adafb91517fbd6f34ecdc.zip
gdb-3c3fe724f5f579b76e8adafb91517fbd6f34ecdc.tar.gz
gdb-3c3fe724f5f579b76e8adafb91517fbd6f34ecdc.tar.bz2
[gdb/testsuite] Set up dap log file in gdb.dap/type_checker.exp
While debugging a slow-down in test-case gdb.dap/type_checker.exp due to a WIP patch, I noticed that test-case gdb.dap/type_checker.exp doesn't have a dap log file. This is normally set up by dap_gdb_start, but the test-case doesn't use it. Fix this by doing "set debug dap-log-file $logfile" in the test-case. To make it easy to do so, I've factored out a new proc new_dap_log_file, and while at likewise a new proc current_dap_log_file. Note that the log file is currently empty. Tested on x86_64-linux. Approved-By: Tom Tromey <tom@tromey.com>
-rw-r--r--gdb/testsuite/gdb.dap/type_check.exp3
-rw-r--r--gdb/testsuite/lib/dap-support.exp22
2 files changed, 18 insertions, 7 deletions
diff --git a/gdb/testsuite/gdb.dap/type_check.exp b/gdb/testsuite/gdb.dap/type_check.exp
index cda0129..e6c9d73 100644
--- a/gdb/testsuite/gdb.dap/type_check.exp
+++ b/gdb/testsuite/gdb.dap/type_check.exp
@@ -26,6 +26,9 @@ set remote_python_file \
[gdb_remote_download host ${srcdir}/${subdir}/${gdb_test_file_name}.py]
gdb_test_no_output "source ${remote_python_file}" "load python file"
+set logfile [new_dap_log_file]
+gdb_test_no_output "set debug dap-log-file $logfile" "set dap log file"
+
gdb_test_multiple "python check_everything()" "type checker" {
-re -wrap "OK" {
pass $gdb_test_name
diff --git a/gdb/testsuite/lib/dap-support.exp b/gdb/testsuite/lib/dap-support.exp
index 979dfa2..31f036e 100644
--- a/gdb/testsuite/lib/dap-support.exp
+++ b/gdb/testsuite/lib/dap-support.exp
@@ -26,6 +26,19 @@ set dap_gdb_instance 0
# is restarted.
set dap_seq 1
+# Return the current DAP log file.
+proc current_dap_log_file {} {
+ global dap_gdb_instance
+ return [standard_output_file "dap.log.$dap_gdb_instance"]
+}
+
+# Return a new DAP log file.
+proc new_dap_log_file {} {
+ global dap_gdb_instance
+ incr dap_gdb_instance
+ return [current_dap_log_file]
+}
+
# Start gdb using the DAP interpreter.
proc dap_gdb_start {} {
# Keep track of the number of times GDB has been launched.
@@ -34,13 +47,10 @@ proc dap_gdb_start {} {
gdb_stdin_log_init
- global dap_gdb_instance
- incr dap_gdb_instance
-
global GDBFLAGS stty_init
save_vars { GDBFLAGS stty_init } {
set stty_init "-echo raw"
- set logfile [standard_output_file "dap.log.$dap_gdb_instance"]
+ set logfile [new_dap_log_file]
append GDBFLAGS " -iex \"set debug dap-log-file $logfile\" -q -i=dap"
set res [gdb_spawn]
if {$res != 0} {
@@ -337,9 +347,7 @@ proc dap_target_remote {target} {
# Read the most recent DAP log file and check it for exceptions.
proc dap_check_log_file {} {
- global dap_gdb_instance
-
- set fd [open [standard_output_file "dap.log.$dap_gdb_instance"]]
+ set fd [open [current_dap_log_file]]
set contents [read $fd]
close $fd