Document gdb.in/gdb.cmd files and debugredirect cli command

Message ID DBEB2CB0-0F89-4C74-966D-FCAB3E9A807C@arm.com
State New, archived
Headers

Commit Message

Alan Hayward May 22, 2019, 12:48 p.m. UTC
  > On 22 May 2019, at 08:23, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> From: Alan Hayward <Alan.Hayward@arm.com>
>> CC: nd <nd@arm.com>, Alan Hayward <Alan.Hayward@arm.com>
>> Date: Tue, 21 May 2019 09:08:01 +0000
>> 
>> Add missing documentation for the debugredirect setting.
>> 
>> Add description and uses of gdb.in/gdb.cmd to the testsuite README.
>> 
>> Mention this in the NEWS file.
>> 
>> [Wasn't sure if testsuite changes belonged in NEWS? If not I can
>> drop that part]
>> ---
>> gdb/NEWS             | 11 +++++++++++
>> gdb/doc/gdb.texinfo  |  3 +++
>> gdb/testsuite/README | 21 +++++++++++++++++++++
>> 3 files changed, 35 insertions(+)
> 
> This is OK, but please also update the 2 ChangeLog files.

Thanks.

Pushed with the changeLogs.


Full patch for reference:
  

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a998c5c60d..52fc11d8f4 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@ 
+2019-05-22  Alan Hayward  <alan.hayward@arm.com>
+
+       * NEWS: Add debugredirect and testsuite sections.
+
 2019-05-22  Simon Cook  <simon.cook@embecosm.com>

        * riscv-tdep.c (riscv_gdbarch_init): Support determining flen from
diff --git a/gdb/NEWS b/gdb/NEWS
index 1e92a2b52c..792548139e 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -46,6 +46,10 @@  show print max-depth
   The default max-depth is 20, but this can be set to unlimited to get
   the old behavior back.

+set logging debugredirect [on|off]
+  By default, GDB debug output will go to both the terminal and the logfile.
+  Set if you want debug output to go only to the log file.
+
 * New MI commands

 -complete
@@ -53,6 +57,13 @@  show print max-depth
   were to be given as a command itself.  This is intended for use by MI
   frontends in cases when separate CLI and MI channels cannot be used.

+* Testsuite
+
+  The testsuite now creates the files gdb.cmd (containing the arguments
+  used to launch GDB) and gdb.in (containing all the commands sent to
+  GDB) in the output directory for each test script.  Multiple invocations
+  are appended with .1, .2, .3 etc.
+
 *** Changes in GDB 8.3

 * GDB and GDBserver now support access to additional registers on
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 9733b5b64b..c01ef292e9 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,7 @@ 
+2019-05-22  Alan Hayward  <alan.hayward@arm.com>
+
+       * gdb.texinfo (Shell Commands): Add debugredirect.
+
 2019-05-22  Jan Vrany  <jan.vrany@fit.cvut.cz>

        * gdb.texinfo: Minor formatting fixes.
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index e27752a9d6..3c4535ec50 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -1477,6 +1477,9 @@  you want @code{set logging on} to overwrite the logfile instead.
 @item set logging redirect [on|off]
 By default, @value{GDBN} output will go to both the terminal and the logfile.
 Set @code{redirect} if you want output to go only to the log file.
+@item set logging debugredirect [on|off]
+By default, @value{GDBN} debug output will go to both the terminal and the logfile.
+Set @code{debugredirect} if you want debug output to go only to the log file.
 @kindex show logging
 @item show logging
 Show the current values of the logging settings.
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 4060eadfbd..867455f7a5 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@ 
+2019-05-22  Alan Hayward  <alan.hayward@arm.com>
+
+       * README (Re-running Tests Outside The Testsuite): New section.
+
 2019-05-21  Tom de Vries  <tdevries@suse.de>

        * gdb.arch/amd64-eval.exp: Require c++11.
diff --git a/gdb/testsuite/README b/gdb/testsuite/README
index b6487cf8c4..4795df1f75 100644
--- a/gdb/testsuite/README
+++ b/gdb/testsuite/README
@@ -95,6 +95,27 @@  example:

 The script will output its analysis report to the standard output.

+Re-running Tests Outside The Testsuite
+**************************************
+
+When running a test, the arguments used to run GDB are saved to gdb.cmd and
+all commands sent to GDB are saved to gdb.in.  As well as being a reference
+of the commands run, they can be used to manually re-run a test by using
+the gdb.in file as a batch file to a GDB launched with the arguments in the
+gdb.cmd file, for example:
+       $(cat outputs/gdb.base/store/gdb.cmd) -x outputs/gdb.base/store/gdb.in
+
+Tests that run GDB multiple times will append .1, .2, .3 etc to the end
+of each .cmd and .in file.
+
+When gdbserver is launched as part of a test, a gdbserver.cmd will be created.
+To re-run these tests, run the contents of gdbserver.cmd in a separate
+terminal before running gdb, for example:
+       $(cat outputs/gdb.base/store/gdbserver.cmd)
+Alternatively, if the test is run with GDBSERVER_DEBUG="replay", then this
+will create a gdbserver.replay file which can be used with the gdbreplay tool,
+instead of launching gdbserver.
+
 Running the Performance Tests
 *****************************