aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/lib
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2020-10-26 17:10:25 -0600
committerTom Tromey <tom@tromey.com>2020-10-26 17:10:25 -0600
commitb324727682fbc257ddfd382d5b819acb3c033252 (patch)
tree98604a18e90bb997f35895bd1861a0e8c4573691 /gdb/testsuite/lib
parent1c47ec3ee86fc08d120dae7e63cec552fa456912 (diff)
downloadgdb-b324727682fbc257ddfd382d5b819acb3c033252.zip
gdb-b324727682fbc257ddfd382d5b819acb3c033252.tar.gz
gdb-b324727682fbc257ddfd382d5b819acb3c033252.tar.bz2
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 <tom@tromey.com> * 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.
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r--gdb/testsuite/lib/gdb.exp6
-rw-r--r--gdb/testsuite/lib/mi-support.exp6
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 197542e..8b00ee0 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 3dea699..8e7b0ab 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 {