From: Tom de Vries Date: Wed, 21 Feb 2024 09:46:08 +0000 (+0100) Subject: [gdb/testsuite] Set up dap log file in gdb.dap/type_checker.exp X-Git-Tag: gdb-15-branchpoint~924 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c3fe724f5f579b76e8adafb91517fbd6f34ecdc;p=thirdparty%2Fbinutils-gdb.git [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 --- diff --git a/gdb/testsuite/gdb.dap/type_check.exp b/gdb/testsuite/gdb.dap/type_check.exp index cda01299925..e6c9d73d871 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 979dfa2cd73..31f036eddf2 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