From b324727682fbc257ddfd382d5b819acb3c033252 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 26 Oct 2020 17:10:25 -0600 Subject: [PATCH] Fix some minor bugs in test suite command logging I noticed that the test suite command logging would create a file like "gdb.cmd.-1". I tracked this down to a substraction in standard_output_file_with_gdb_instance. Then, I saw that the .in file was not created for MI. This is fixed by adding a call to default_mi_gdb_start. Finally, commands might not end up in the .in file in some cases. For me this happened because the test took a long time, so I got impatient and killed it. Flushing the file after each write seemed like a good thing to do here. gdb/testsuite/ChangeLog 2020-10-26 Tom Tromey * lib/mi-support.exp (default_mi_gdb_start): Call gdb_stdin_log_init. * lib/gdb.exp (standard_output_file_with_gdb_instance): Don't subtract one from gdb_instances. (gdb_stdin_log_write): Flush in_file. --- gdb/testsuite/ChangeLog | 8 ++++++++ gdb/testsuite/lib/gdb.exp | 6 ++++-- gdb/testsuite/lib/mi-support.exp | 6 ++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 48139f248d2..29db747877c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2020-10-26 Tom Tromey + + * lib/mi-support.exp (default_mi_gdb_start): Call + gdb_stdin_log_init. + * lib/gdb.exp (standard_output_file_with_gdb_instance): Don't + subtract one from gdb_instances. + (gdb_stdin_log_write): Flush in_file. + 2020-10-26 Tom de Vries * gdb.dwarf2/enqueued-cu-base-addr.exp: New file. diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 197542eec3b..8b00ee0f54b 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -5213,7 +5213,7 @@ proc standard_output_file {basename} { proc standard_output_file_with_gdb_instance {basename} { global gdb_instances - set count [expr $gdb_instances - 1 ] + set count $gdb_instances if {$count == 0} { return [standard_output_file $basename] @@ -7216,8 +7216,10 @@ proc gdb_stdin_log_write { message {type standard} } { } } - #Write to the log + # Write to the log and make sure the output is there, even in case + # of crash. puts -nonewline $in_file "$message" + flush $in_file } # Write the command line used to invocate gdb to the cmd file. diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp index 3dea699a0b2..8e7b0ab79e2 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -206,6 +206,12 @@ proc default_mi_gdb_start { args } { global MIFLAGS global FORCE_SEPARATE_MI_TTY + # Keep track of the number of times GDB has been launched. + global gdb_instances + incr gdb_instances + + gdb_stdin_log_init + if {[info exists FORCE_SEPARATE_MI_TTY]} { set separate_mi_pty $FORCE_SEPARATE_MI_TTY } else { -- 2.30.2