[PATCH] Fix some minor bugs in test suite command logging
Tom Tromey
tom@tromey.com
Sat Oct 24 20:29:06 GMT 2020
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-24 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.
---
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/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index f53df59f181..e3017ee1408 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -5207,7 +5207,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]
@@ -7210,8 +7210,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.17.2
More information about the Gdb-patches
mailing list