public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 1/3] [gdb/testsuite] Update INTERNAL_GDBFLAGS example
@ 2024-04-17 16:57 Tom de Vries
  2024-04-17 16:57 ` [PATCH 2/3] [gdb/testsuite] Remove superfluous -quiet and -ex set width/height 0 Tom de Vries
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Tom de Vries @ 2024-04-17 16:57 UTC (permalink / raw)
  To: gdb-patches

In commit 31c50280179 ("[gdb/testsuite] Add -q to INTERNAL_GDBFLAGS") I added
-q to the INTERNAL_GDBFLAGS, but I forgot to update the INTERNAL_GDBFLAGS
example in gdb/testsuite/README.

Fix this by adding the -q there as well.
---
 gdb/testsuite/README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/README b/gdb/testsuite/README
index 843d8269b0c..06664d723e7 100644
--- a/gdb/testsuite/README
+++ b/gdb/testsuite/README
@@ -201,7 +201,7 @@ a .gdbinit.  For example:
 	HOME=`pwd` runtest \
 	  GDB=/usr/bin/gdb \
 	  GDBSERVER=/usr/bin/gdbserver \
-	  INTERNAL_GDBFLAGS="-nw -iex 'set height 0' -iex 'set width 0'"
+	  INTERNAL_GDBFLAGS="-nw -q -iex 'set height 0' -iex 'set width 0'"
 
 Note that we do not need to specify '-data-directory' here
 as we are testing an installed GDB.

base-commit: c7d73a715775ade814370212726d50ab4b7c6fe0
-- 
2.35.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/3] [gdb/testsuite] Remove superfluous -quiet and -ex set width/height 0
  2024-04-17 16:57 [PATCH 1/3] [gdb/testsuite] Update INTERNAL_GDBFLAGS example Tom de Vries
@ 2024-04-17 16:57 ` Tom de Vries
  2024-05-03 20:10   ` Tom Tromey
  2024-04-17 16:58 ` [PATCH 3/3] [gdb/testsuite] Use save_vars to restore GDBFLAGS Tom de Vries
  2024-05-03 20:10 ` [PATCH 1/3] [gdb/testsuite] Update INTERNAL_GDBFLAGS example Tom Tromey
  2 siblings, 1 reply; 7+ messages in thread
From: Tom de Vries @ 2024-04-17 16:57 UTC (permalink / raw)
  To: gdb-patches

INTERNAL_GDBFLAGS contains:
- -quiet
- -iex "set width 0"
- -iex "set height 0"

There are test-cases that add these once more.

Clean this up.

Tested on x86_64-linux.

PR testsuite/31649
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31649
---
 gdb/testsuite/gdb.base/attach.exp                       | 3 +--
 gdb/testsuite/gdb.base/batch-preserve-term-settings.exp | 1 -
 gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp   | 1 -
 gdb/testsuite/gdb.base/dprintf-execution-x-script.exp   | 1 -
 gdb/testsuite/gdb.base/new-ui-pending-input.exp         | 2 --
 gdb/testsuite/gdb.base/paginate-execution-startup.exp   | 1 -
 gdb/testsuite/gdb.python/py-prompt.exp                  | 2 --
 gdb/testsuite/gdb.server/server-kill-python.exp         | 6 ++----
 gdb/testsuite/lib/debuginfod-support.exp                | 4 ++--
 9 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/gdb/testsuite/gdb.base/attach.exp b/gdb/testsuite/gdb.base/attach.exp
index 7907441054b..83412fd5f14 100644
--- a/gdb/testsuite/gdb.base/attach.exp
+++ b/gdb/testsuite/gdb.base/attach.exp
@@ -496,8 +496,7 @@ proc_with_prefix test_command_line_attach_run {} {
     set test "run to prompt"
     gdb_exit
 
-    set res [gdb_spawn_with_cmdline_opts \
-		 "-quiet -iex \"set height 0\" -iex \"set width 0\" --pid=$testpid -ex \"start\""]
+    set res [gdb_spawn_with_cmdline_opts "--pid=$testpid -ex \"start\""]
     if { $res != 0} {
 	fail $test
 	kill_wait_spawned_process $test_spawn_id
diff --git a/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp b/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
index fbaba634e20..dc2b1ce617e 100644
--- a/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
+++ b/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
@@ -139,7 +139,6 @@ proc test_terminal_settings_preserved {} {
 
     set test "gdb -batch -ex run"
     append EXTRA_GDBFLAGS "-batch"
-    append EXTRA_GDBFLAGS " -ex \"set height unlimited\""
     append EXTRA_GDBFLAGS " -ex \"start\""
     append EXTRA_GDBFLAGS " --args \"$file_arg\""
     send_gdb "$GDB $INTERNAL_GDBFLAGS $GDBFLAGS $EXTRA_GDBFLAGS [host_info gdb_opts]\n"
diff --git a/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp b/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
index 02719b1a7af..25adf015b7f 100644
--- a/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
+++ b/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
@@ -42,7 +42,6 @@ proc test {} {
     set GDBFLAGS "$GDBFLAGS -x $x_file $binfile"
 
     set GDBFLAGS $saved_gdbflags
-    append GDBFLAGS " -ex \"set height unlimited\""
     append GDBFLAGS " -x \"$x_file\""
     append GDBFLAGS " --args \"$binfile\""
 
diff --git a/gdb/testsuite/gdb.base/dprintf-execution-x-script.exp b/gdb/testsuite/gdb.base/dprintf-execution-x-script.exp
index af6dd3f9003..12de3aec494 100644
--- a/gdb/testsuite/gdb.base/dprintf-execution-x-script.exp
+++ b/gdb/testsuite/gdb.base/dprintf-execution-x-script.exp
@@ -37,7 +37,6 @@ set x_file ${srcdir}/${subdir}/$testfile.gdb
 # outside of the save_vars block.)
 save_vars { GDBFLAGS } {
     # Set flags with which to start GDB.
-    append GDBFLAGS " -ex \"set height unlimited\""
     append GDBFLAGS " -x \"$x_file\""
     append GDBFLAGS " --args \"$binfile\""
 
diff --git a/gdb/testsuite/gdb.base/new-ui-pending-input.exp b/gdb/testsuite/gdb.base/new-ui-pending-input.exp
index dc19055264b..cfb7ca09434 100644
--- a/gdb/testsuite/gdb.base/new-ui-pending-input.exp
+++ b/gdb/testsuite/gdb.base/new-ui-pending-input.exp
@@ -60,8 +60,6 @@ proc test_command_line_new_ui_pending_input {} {
     set bpline [gdb_get_line_number "set breakpoint here"]
 
     set options ""
-    append options " -iex \"set height 0\""
-    append options " -iex \"set width 0\""
     append options " -iex \"new-ui console $extra_tty_name\""
     append options " -ex \"b $bpline\""
     append options " -ex \"run\""
diff --git a/gdb/testsuite/gdb.base/paginate-execution-startup.exp b/gdb/testsuite/gdb.base/paginate-execution-startup.exp
index 3f0e74e5efa..f0f7db5932c 100644
--- a/gdb/testsuite/gdb.base/paginate-execution-startup.exp
+++ b/gdb/testsuite/gdb.base/paginate-execution-startup.exp
@@ -38,7 +38,6 @@ proc probe_can_run_cmdline  {} {
     global gdb_prompt
 
     set GDBFLAGS $saved_gdbflags
-    append GDBFLAGS " -ex \"set height 0\""
     append GDBFLAGS " -ex \"start\""
     append GDBFLAGS " --args \"$file_arg\""
 
diff --git a/gdb/testsuite/gdb.python/py-prompt.exp b/gdb/testsuite/gdb.python/py-prompt.exp
index b37d2fbd3eb..f1f93bff572 100644
--- a/gdb/testsuite/gdb.python/py-prompt.exp
+++ b/gdb/testsuite/gdb.python/py-prompt.exp
@@ -32,8 +32,6 @@ save_vars { INTERNAL_GDBFLAGS } {
 
     global GDBFLAGS
     set saved_gdbflags $GDBFLAGS
-    set GDBFLAGS [concat $GDBFLAGS " -ex \"set height 0\""]
-    set GDBFLAGS [concat $GDBFLAGS " -ex \"set width 0\""]
     set GDBFLAGS [concat $GDBFLAGS " -ex \"python p = list()\""]
     set prompt_func "python def foo(x): global p; p.append(x);  return \'(Foo) \'"
     set GDBFLAGS [concat $GDBFLAGS " -ex \"$prompt_func\""]
diff --git a/gdb/testsuite/gdb.server/server-kill-python.exp b/gdb/testsuite/gdb.server/server-kill-python.exp
index f02c69c502f..e9066caa6cb 100644
--- a/gdb/testsuite/gdb.server/server-kill-python.exp
+++ b/gdb/testsuite/gdb.server/server-kill-python.exp
@@ -55,10 +55,8 @@ close $fd
 
 set host_file1 [gdb_remote_download host $file1]
 
-# Now start GDB, sourcing the python command file we generated above.
-# Set the height and width so we don't end up at a paging prompt.
-if {[gdb_spawn_with_cmdline_opts \
-	 "-quiet -iex \"set height 0\" -iex \"set width 0\""] != 0} {
+# Now start GDB.
+if {[gdb_spawn]} {
     fail "spawn"
     return
 }
diff --git a/gdb/testsuite/lib/debuginfod-support.exp b/gdb/testsuite/lib/debuginfod-support.exp
index bd70a1dfcab..0096448567e 100644
--- a/gdb/testsuite/lib/debuginfod-support.exp
+++ b/gdb/testsuite/lib/debuginfod-support.exp
@@ -35,9 +35,9 @@ proc allow_debuginfod_tests {} {
     #
     # If GDB is built with ASan, it warns that some signal handlers
     # (installed by ASan) exist on startup.  That makes TCL's exec throw an
-    # error.  Disable that by passing --quiet.
+    # error.  This is dealt with by the --quiet in INTERNAL_GDBFLAGS.
     if { [string first "with-debuginfod" \
-	      [eval exec $::GDB --quiet $::INTERNAL_GDBFLAGS \
+	      [eval exec $::GDB $::INTERNAL_GDBFLAGS \
 		   --configuration]] == -1 } {
 	return false
     }
-- 
2.35.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 3/3] [gdb/testsuite] Use save_vars to restore GDBFLAGS
  2024-04-17 16:57 [PATCH 1/3] [gdb/testsuite] Update INTERNAL_GDBFLAGS example Tom de Vries
  2024-04-17 16:57 ` [PATCH 2/3] [gdb/testsuite] Remove superfluous -quiet and -ex set width/height 0 Tom de Vries
@ 2024-04-17 16:58 ` Tom de Vries
  2024-05-03 20:10   ` Tom Tromey
  2024-05-03 20:10 ` [PATCH 1/3] [gdb/testsuite] Update INTERNAL_GDBFLAGS example Tom Tromey
  2 siblings, 1 reply; 7+ messages in thread
From: Tom de Vries @ 2024-04-17 16:58 UTC (permalink / raw)
  To: gdb-patches

There's a pattern of using:
...
set saved_gdbflags $GDBFLAGS
set GDBFLAGS "$GDBFLAGS ..."
<do something with GDBFLAGS>
set GDBFLAGS $saved_gdbflags
...

Simplify this by using save_vars:
...
save_vars { GDBFLAGS } {
    set GDBFLAGS "$GDBFLAGS ..."
    <do something with GDBFLAGS>
}
...

Tested on x86_64-linux.
---
 .../gdb.base/batch-preserve-term-settings.exp |  4 --
 .../gdb.base/bp-cmds-execution-x-script.exp   | 20 +++-----
 .../gdb.base/break-main-file-remove-fail.exp  | 30 +++++------
 .../gdb.base/break-on-linker-gcd-function.exp |  8 +--
 gdb/testsuite/gdb.base/break-unload-file.exp  | 32 ++++++------
 gdb/testsuite/gdb.base/code_elim.exp          |  9 ++--
 .../gdb.base/paginate-execution-startup.exp   | 50 +++++++++----------
 gdb/testsuite/gdb.base/remotetimeout.exp      | 14 +++---
 gdb/testsuite/gdb.base/write_mem.exp          | 24 +++++----
 gdb/testsuite/gdb.cp/readnow-language.exp     |  8 +--
 gdb/testsuite/gdb.dwarf2/count.exp            |  9 ++--
 gdb/testsuite/gdb.dwarf2/dw2-icycle.exp       |  8 +--
 .../gdb.dwarf2/dw2-var-zero-addr.exp          |  8 +--
 .../gdb.dwarf2/dw4-sig-type-unused.exp        |  8 +--
 gdb/testsuite/gdb.dwarf2/implptrconst.exp     |  8 +--
 gdb/testsuite/gdb.dwarf2/implptrpiece.exp     |  8 +--
 gdb/testsuite/gdb.dwarf2/nostaticblock.exp    |  8 +--
 gdb/testsuite/gdb.dwarf2/symtab-producer.exp  | 14 +++---
 gdb/testsuite/gdb.fortran/info-main.exp       | 17 ++++---
 gdb/testsuite/gdb.mi/mi-async.exp             | 15 +++---
 gdb/testsuite/gdb.python/py-prompt.exp        |  6 +--
 .../gdb.threads/fork-plus-threads.exp         | 14 +++---
 .../forking-threads-plus-breakpoint.exp       |  8 +--
 .../process-dies-while-handling-bp.exp        |  8 +--
 gdb/testsuite/lib/gdb.exp                     | 14 +++---
 25 files changed, 165 insertions(+), 187 deletions(-)

diff --git a/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp b/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
index dc2b1ce617e..d4ceba68c95 100644
--- a/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
+++ b/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
@@ -228,8 +228,6 @@ proc test_terminal_settings_preserved_after_cli_exit { cmds } {
 	return
     }
 
-    set saved_gdbflags $GDBFLAGS
-
     set stty_supported [run_stty "stty before" stty_before]
 
     set test "start gdb"
@@ -296,8 +294,6 @@ proc test_terminal_settings_preserved_after_sigterm { } {
 	return
     }
 
-    set saved_gdbflags $GDBFLAGS
-
     set stty_supported [run_stty "stty before" stty_before]
 
     set test "start gdb"
diff --git a/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp b/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
index 25adf015b7f..1d91958e3c5 100644
--- a/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
+++ b/gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
@@ -25,30 +25,24 @@ if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
 
 set x_file ${srcdir}/${subdir}/$testfile.gdb
 
-global GDBFLAGS
-set saved_gdbflags $GDBFLAGS
-
 # Run the test proper.
 
 proc test {} {
     global inferior_exited_re
     global binfile
     global gdb_prompt
-    global saved_gdbflags GDBFLAGS
+    global GDBFLAGS
     global x_file
 
     gdb_exit
 
-    set GDBFLAGS "$GDBFLAGS -x $x_file $binfile"
-
-    set GDBFLAGS $saved_gdbflags
-    append GDBFLAGS " -x \"$x_file\""
-    append GDBFLAGS " --args \"$binfile\""
-
     set test "run to end"
 
-    gdb_exit
-    set res [gdb_spawn]
+    save_vars { GDBFLAGS } {
+	append GDBFLAGS " -x \"$x_file\""
+	append GDBFLAGS " --args \"$binfile\""
+	set res [gdb_spawn]
+    }
     if { $res != 0} {
 	fail $test
 	return -1
@@ -65,5 +59,3 @@ proc test {} {
 }
 
 test
-
-set GDBFLAGS $saved_gdbflags
diff --git a/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp b/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp
index 8a8c508b340..97b662c7871 100644
--- a/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp
+++ b/gdb/testsuite/gdb.base/break-main-file-remove-fail.exp
@@ -35,25 +35,25 @@ proc test_remove_bp { initial_load } {
 
 	gdb_exit
 
-	set saved_gdbflags $GDBFLAGS
+	save_vars { GDBFLAGS } {
 
-	# See "used to behave differently" further below.
-	if { $initial_load == "file" } {
-	    gdb_start
-	    gdb_file_cmd $binfile
-	} else {
-	    global last_loaded_file
+	    # See "used to behave differently" further below.
+	    if { $initial_load == "file" } {
+		gdb_start
+		gdb_file_cmd $binfile
+	    } else {
+		global last_loaded_file
 
-	    # gdb_file_cmd sets this.  This is what gdb_reload
-	    # implementations use as binary.
-	    set last_loaded_file $binfile
+		# gdb_file_cmd sets this.  This is what gdb_reload
+		# implementations use as binary.
+		set last_loaded_file $binfile
 
-	    set GDBFLAGS "$GDBFLAGS $binfile"
-	    gdb_start
+		set GDBFLAGS "$GDBFLAGS $binfile"
+		gdb_start
+	    }
+	    gdb_reinitialize_dir $srcdir/$subdir
+	    gdb_reload
 	}
-	gdb_reinitialize_dir $srcdir/$subdir
-	gdb_reload
-	set GDBFLAGS $saved_gdbflags
 
 	if ![runto start] {
 	    return
diff --git a/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp b/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
index 613c9dc47e8..67afe4c9fa5 100644
--- a/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
+++ b/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
@@ -48,10 +48,10 @@ proc set_breakpoint_on_gcd_function {} {
 
 set_breakpoint_on_gcd_function
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow"
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow"
+    clean_restart ${testfile}
+}
 
 with_test_prefix "readnow" {
     set_breakpoint_on_gcd_function
diff --git a/gdb/testsuite/gdb.base/break-unload-file.exp b/gdb/testsuite/gdb.base/break-unload-file.exp
index 2d62cc51cec..fb9874b4297 100644
--- a/gdb/testsuite/gdb.base/break-unload-file.exp
+++ b/gdb/testsuite/gdb.base/break-unload-file.exp
@@ -38,26 +38,26 @@ proc test_break { initial_load always_inserted break_command } {
     with_test_prefix "$prefix" {
 	gdb_exit
 
-	set saved_gdbflags $GDBFLAGS
+	save_vars { GDBFLAGS } {
 
-	# See "used to behave differently" further below.
-	if { $initial_load == "file" } {
-	    gdb_start
-	    gdb_file_cmd $binfile
-	} else {
-	    global last_loaded_file
+	    # See "used to behave differently" further below.
+	    if { $initial_load == "file" } {
+		gdb_start
+		gdb_file_cmd $binfile
+	    } else {
+		global last_loaded_file
 
-	    # gdb_file_cmd sets this.  This is what gdb_reload
-	    # implementations use as binary.
-	    set last_loaded_file $binfile
+		# gdb_file_cmd sets this.  This is what gdb_reload
+		# implementations use as binary.
+		set last_loaded_file $binfile
 
-	    set GDBFLAGS "$GDBFLAGS $binfile"
-	    gdb_start
-	}
+		set GDBFLAGS "$GDBFLAGS $binfile"
+		gdb_start
+	    }
 
-	gdb_reinitialize_dir $srcdir/$subdir
-	gdb_reload
-	set GDBFLAGS $saved_gdbflags
+	    gdb_reinitialize_dir $srcdir/$subdir
+	    gdb_reload
+	}
 
 	if {![runto_main]} {
 	    return
diff --git a/gdb/testsuite/gdb.base/code_elim.exp b/gdb/testsuite/gdb.base/code_elim.exp
index e66382fdbd9..8ead31dc8e8 100644
--- a/gdb/testsuite/gdb.base/code_elim.exp
+++ b/gdb/testsuite/gdb.base/code_elim.exp
@@ -93,11 +93,10 @@ with_test_prefix "single psymtabs" {
 # Same thing for symtabs
 
 gdb_exit
-global GDBFLAGS
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow $binfile1"
-gdb_start
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow $binfile1"
+    gdb_start
+}
 
 with_test_prefix "single symtabs" {
     test_eliminated_var my_global_symbol
diff --git a/gdb/testsuite/gdb.base/paginate-execution-startup.exp b/gdb/testsuite/gdb.base/paginate-execution-startup.exp
index f0f7db5932c..134cf64ac8e 100644
--- a/gdb/testsuite/gdb.base/paginate-execution-startup.exp
+++ b/gdb/testsuite/gdb.base/paginate-execution-startup.exp
@@ -27,25 +27,22 @@ if [is_remote host] {
   set file_arg [remote_download host $file_arg]
 }
 
-global GDBFLAGS
-set saved_gdbflags $GDBFLAGS
-
 # Returns true if the board can 'gdb -ex "start"', false otherwise.
 
 proc probe_can_run_cmdline  {} {
     global srcfile file_arg
-    global saved_gdbflags GDBFLAGS
+    global GDBFLAGS
     global gdb_prompt
 
-    set GDBFLAGS $saved_gdbflags
-    append GDBFLAGS " -ex \"start\""
-    append GDBFLAGS " --args \"$file_arg\""
-
     with_test_prefix "probe support" {
 	set test "run to main"
 
 	gdb_exit
-	set res [gdb_spawn]
+	save_vars { GDBFLAGS } {
+	    append GDBFLAGS " -ex \"start\""
+	    append GDBFLAGS " --args \"$file_arg\""
+	    set res [gdb_spawn]
+	}
 	if { $res != 0} {
 	    fail $test
 	    return -1
@@ -74,23 +71,25 @@ proc probe_can_run_cmdline  {} {
 
 proc test_fg_execution_pagination_return {} {
     global file_arg
-    global saved_gdbflags GDBFLAGS
+    global GDBFLAGS
     global gdb_prompt pagination_prompt
 
-    set GDBFLAGS $saved_gdbflags
-    append GDBFLAGS " -ex \"set height 2\""
-    append GDBFLAGS " -ex \"start\""
-    append GDBFLAGS " --args \"$file_arg\""
-
     with_test_prefix "return" {
 	set test "run to pagination"
 
 	gdb_exit
-	set res [gdb_spawn]
+
+	save_vars { GDBFLAGS  } {
+	    append GDBFLAGS " -ex \"set height 2\""
+	    append GDBFLAGS " -ex \"start\""
+	    append GDBFLAGS " --args \"$file_arg\""
+	    set res [gdb_spawn]
+	}
 	if { $res != 0} {
 	    fail $test
 	    return $res
 	}
+
 	gdb_test_multiple "" $test {
 	    -re "$pagination_prompt$" {
 		pass $test
@@ -127,24 +126,25 @@ proc test_fg_execution_pagination_return {} {
 
 proc test_fg_execution_pagination_cancel { how } {
     global file_arg
-    global saved_gdbflags GDBFLAGS
+    global GDBFLAGS
     global gdb_prompt pagination_prompt
 
-    set GDBFLAGS $saved_gdbflags
-
-    append GDBFLAGS " -ex \"set height 2\""
-    append GDBFLAGS " -ex \"start\""
-    append GDBFLAGS " --args \"$file_arg\""
-
     with_test_prefix "cancel with $how" {
 	set test "run to pagination"
 
 	gdb_exit
-	set res [gdb_spawn]
+
+	save_vars { GDBFLAGS } {
+	    append GDBFLAGS " -ex \"set height 2\""
+	    append GDBFLAGS " -ex \"start\""
+	    append GDBFLAGS " --args \"$file_arg\""
+	    set res [gdb_spawn]
+	}
 	if { $res != 0} {
 	    fail $test
 	    return $res
 	}
+
 	gdb_test_multiple "" $test {
 	    -re "$pagination_prompt$" {
 		pass $test
@@ -182,5 +182,3 @@ save_vars { INTERNAL_GDBFLAGS } {
 	test_fg_execution_pagination_cancel "quit"
     }
 }
-
-set GDBFLAGS $saved_gdbflags
diff --git a/gdb/testsuite/gdb.base/remotetimeout.exp b/gdb/testsuite/gdb.base/remotetimeout.exp
index 27f02956202..b7d8c90ca01 100644
--- a/gdb/testsuite/gdb.base/remotetimeout.exp
+++ b/gdb/testsuite/gdb.base/remotetimeout.exp
@@ -19,18 +19,16 @@
 # This is a test for the gdb invocation option -l.
 
 
-global GDBFLAGS
+gdb_exit
 
 #
 # Test that -l is processed correctly.
 #
-set old_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -l 42"
-gdb_exit
-gdb_start
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -l 42"
+    gdb_start
+}
+
 gdb_test "show remotetimeout" \
 	"Timeout limit to wait for target to respond is 42\." \
 	"correct remotetimeout printed"
-
-set GDBFLAGS $old_gdbflags
-
diff --git a/gdb/testsuite/gdb.base/write_mem.exp b/gdb/testsuite/gdb.base/write_mem.exp
index 89c064795c6..3f2380c64a4 100644
--- a/gdb/testsuite/gdb.base/write_mem.exp
+++ b/gdb/testsuite/gdb.base/write_mem.exp
@@ -27,21 +27,27 @@ if {[build_executable $testfile.exp $testfile \
     return -1
 }
 
-set old_gdbflags $GDBFLAGS
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS $binfile"
+    clean_restart
+}
 
 # Expect a failure before --write has been added to the command line
-set GDBFLAGS "$old_gdbflags $binfile"
-clean_restart
 test_print_reject "set {int}main = 0x4242" "Cannot access memory at address"
 
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --write $binfile"
+    clean_restart
+}
+
 # Setting memory should now work correctly after adding --write
-set GDBFLAGS "$old_gdbflags --write $binfile"
-clean_restart
 gdb_test_no_output "set {int}main = 0x4242"
 
-# Check that memory write persists after quitting GDB
 gdb_exit
-gdb_start
-gdb_test "x /x main" "<main>:.*4242"
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --write $binfile"
+    gdb_start
+}
 
-set GDBFLAGS $old_gdbflags
+# Check that memory write persists after quitting GDB
+gdb_test "x /x main" "<main>:.*4242"
diff --git a/gdb/testsuite/gdb.cp/readnow-language.exp b/gdb/testsuite/gdb.cp/readnow-language.exp
index 05193ec9f36..a9cd6451686 100644
--- a/gdb/testsuite/gdb.cp/readnow-language.exp
+++ b/gdb/testsuite/gdb.cp/readnow-language.exp
@@ -19,9 +19,9 @@ if {[build_executable ${testfile}.exp $testfile ${testfile}.cc {c++ debug}] == -
     return -1
 }
 
-set old_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart $testfile
-set GDBFLAGS $old_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart $testfile
+}
 
 gdb_test "show language" {The current source language is "auto; currently c\+\+"\.}
diff --git a/gdb/testsuite/gdb.dwarf2/count.exp b/gdb/testsuite/gdb.dwarf2/count.exp
index 99c52d231ae..52deb19146b 100644
--- a/gdb/testsuite/gdb.dwarf2/count.exp
+++ b/gdb/testsuite/gdb.dwarf2/count.exp
@@ -138,11 +138,10 @@ if { [gdb_compile [list ${binfile}1.o ${binfile}2.o] \
     return -1
 }
 
-global GDBFLAGS
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS [concat $GDBFLAGS " -readnow"]
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS [concat $GDBFLAGS " -readnow"]
+    clean_restart ${testfile}
+}
 
 if ![runto_main] {
     return -1
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp b/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp
index 9c004562d69..2675f70df14 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-icycle.exp
@@ -33,10 +33,10 @@ if { [build_executable "failed to prepare" ${testfile} \
 # start the debugger with -readnow.  This force expansion as soon as
 # the objfile is loaded.
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart ${testfile}
+}
 
 # And just to be sure that the debugger did not crash after having
 # expanded our symbols, do a life-check.
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp b/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp
index 2a5aa3ee0c1..9b89b8ce6fa 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp
@@ -32,10 +32,10 @@ proc test { } {
 
 test
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow"
-clean_restart ${binfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow"
+    clean_restart ${binfile}
+}
 
 with_test_prefix "readnow" {
     test
diff --git a/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp b/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp
index 63c834b8846..24dc132aa82 100644
--- a/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp
@@ -24,9 +24,9 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != ""
     return -1
 }
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow"
-clean_restart $executable
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow"
+    clean_restart $executable
+}
 
 gdb_test "p 1" " = 1" "alive"
diff --git a/gdb/testsuite/gdb.dwarf2/implptrconst.exp b/gdb/testsuite/gdb.dwarf2/implptrconst.exp
index 796b8b70307..8e6dbf0d213 100644
--- a/gdb/testsuite/gdb.dwarf2/implptrconst.exp
+++ b/gdb/testsuite/gdb.dwarf2/implptrconst.exp
@@ -90,10 +90,10 @@ if { [build_executable ${testfile}.exp ${testfile} \
 
 # We need --readnow because otherwise we never read in the CU we
 # created above.
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart ${testfile}
+}
 
 if ![runto_main] {
     return -1
diff --git a/gdb/testsuite/gdb.dwarf2/implptrpiece.exp b/gdb/testsuite/gdb.dwarf2/implptrpiece.exp
index 83bdf991135..585cd7497b6 100644
--- a/gdb/testsuite/gdb.dwarf2/implptrpiece.exp
+++ b/gdb/testsuite/gdb.dwarf2/implptrpiece.exp
@@ -108,10 +108,10 @@ if { [build_executable ${testfile}.exp ${testfile} \
 
 # We need --readnow because otherwise we never read in the CU we
 # created above.
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart ${testfile}
+}
 
 if ![runto_main] {
     return -1
diff --git a/gdb/testsuite/gdb.dwarf2/nostaticblock.exp b/gdb/testsuite/gdb.dwarf2/nostaticblock.exp
index 46e2b4c4ca8..e8d41f04efc 100644
--- a/gdb/testsuite/gdb.dwarf2/nostaticblock.exp
+++ b/gdb/testsuite/gdb.dwarf2/nostaticblock.exp
@@ -38,9 +38,9 @@ if { [build_executable ${testfile}.exp ${testfile} \
     return -1
 }
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow"
-clean_restart $testfile
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow"
+    clean_restart $testfile
+}
 
 gdb_test "p 1" " = 1" "alive"
diff --git a/gdb/testsuite/gdb.dwarf2/symtab-producer.exp b/gdb/testsuite/gdb.dwarf2/symtab-producer.exp
index 756b1d60bf2..ac16c95d8a3 100644
--- a/gdb/testsuite/gdb.dwarf2/symtab-producer.exp
+++ b/gdb/testsuite/gdb.dwarf2/symtab-producer.exp
@@ -73,17 +73,15 @@ Dwarf::assemble $asm_file {
 
 # We need --readnow because otherwise we never read in the CUs we
 # created above.
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
 
-if { [prepare_for_testing "failed to prepare" ${testfile} \
-	  [list $srcfile $asm_file] {nodebug}] } {
-    set GDBFLAGS $saved_gdbflags
-    return -1
+    if { [prepare_for_testing "failed to prepare" ${testfile} \
+	      [list $srcfile $asm_file] {nodebug}] } {
+	return -1
+    }
 }
 
-set GDBFLAGS $saved_gdbflags
-
 gdb_py_test_silent_cmd "python with_producer = gdb.lookup_global_symbol(\"with_producer\")" \
     "get with_producer symbol" 0
 
diff --git a/gdb/testsuite/gdb.fortran/info-main.exp b/gdb/testsuite/gdb.fortran/info-main.exp
index e8583f3bf9f..7d11235b12f 100644
--- a/gdb/testsuite/gdb.fortran/info-main.exp
+++ b/gdb/testsuite/gdb.fortran/info-main.exp
@@ -19,11 +19,12 @@ load_lib fortran.exp
 
 standard_testfile .f90
 
-set old_gdbflags $GDBFLAGS
-set GDBFLAGS [string map {"-readnow" ""} "$GDBFLAGS"]
+save_vars { GDBFLAGS } {
+    set GDBFLAGS [string map {"-readnow" ""} "$GDBFLAGS"]
 
-if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90}]} {
-    return -1
+    if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90}]} {
+	return -1
+    }
 }
 
 gdb_test "info main" "simple" "info main prior to start"
@@ -35,8 +36,8 @@ if ![fortran_runto_main] {
 
 gdb_test "info main" "simple" "info main post start"
 
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart $testfile
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart $testfile
+}
 gdb_test "info main" "simple" "info main with readnow"
-
-set GDBFLAGS $old_gdbflags
diff --git a/gdb/testsuite/gdb.mi/mi-async.exp b/gdb/testsuite/gdb.mi/mi-async.exp
index fc138a6e9ea..74aff568a34 100644
--- a/gdb/testsuite/gdb.mi/mi-async.exp
+++ b/gdb/testsuite/gdb.mi/mi-async.exp
@@ -29,10 +29,6 @@ if {![istarget *-linux*]} {
 # Check if start command is supported.
 require !use_gdb_stub
 
-# The plan is for async mode to become the default but toggle for now.
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS [concat $GDBFLAGS " -ex \"set mi-async on\""]
-
 load_lib mi-support.exp
 
 standard_testfile basics.c
@@ -42,8 +38,13 @@ if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
      return -1
 }
 
-if {[mi_clean_restart $binfile]} {
-    return
+# The plan is for async mode to become the default but toggle for now.
+save_vars { GDBFLAGS } {
+    set GDBFLAGS [concat $GDBFLAGS " -ex \"set mi-async on\""]
+
+    if {[mi_clean_restart $binfile]} {
+	return
+    }
 }
 
 # mi_gdb_test cannot be used for asynchronous commands because there are
@@ -75,5 +76,3 @@ proc linux_async_tests {} {
 linux_async_tests
 
 mi_gdb_exit
-
-set GDBFLAGS $saved_gdbflags
diff --git a/gdb/testsuite/gdb.python/py-prompt.exp b/gdb/testsuite/gdb.python/py-prompt.exp
index f1f93bff572..614fe9d82ea 100644
--- a/gdb/testsuite/gdb.python/py-prompt.exp
+++ b/gdb/testsuite/gdb.python/py-prompt.exp
@@ -27,11 +27,9 @@ if {[build_executable $testfile.exp $testfile $srcfile debug] == -1} {
     return -1
 }
 
-save_vars { INTERNAL_GDBFLAGS } {
+save_vars { INTERNAL_GDBFLAGS GDBFLAGS } {
     set INTERNAL_GDBFLAGS [string map {"-q" ""} $INTERNAL_GDBFLAGS]
 
-    global GDBFLAGS
-    set saved_gdbflags $GDBFLAGS
     set GDBFLAGS [concat $GDBFLAGS " -ex \"python p = list()\""]
     set prompt_func "python def foo(x): global p; p.append(x);  return \'(Foo) \'"
     set GDBFLAGS [concat $GDBFLAGS " -ex \"$prompt_func\""]
@@ -72,7 +70,6 @@ save_vars { INTERNAL_GDBFLAGS } {
     }
 
     if {![can_spawn_for_attach]} {
-	set GDBFLAGS $saved_gdbflags
 	return 0
     }
 
@@ -115,6 +112,5 @@ save_vars { INTERNAL_GDBFLAGS } {
 	gdb_exit
     }
 
-    set GDBFLAGS $saved_gdbflags
     kill_wait_spawned_process $test_spawn_id
 }
diff --git a/gdb/testsuite/gdb.threads/fork-plus-threads.exp b/gdb/testsuite/gdb.threads/fork-plus-threads.exp
index 431ad4a8b7f..c08b4c1579a 100644
--- a/gdb/testsuite/gdb.threads/fork-plus-threads.exp
+++ b/gdb/testsuite/gdb.threads/fork-plus-threads.exp
@@ -34,17 +34,15 @@ proc do_test { detach-on-fork } {
     global srcfile testfile
     global gdb_prompt
 
-    set saved_gdbflags $GDBFLAGS
-    set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop on\""]
+    save_vars { GDBFLAGS } {
+	set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop on\""]
 
-    if {[prepare_for_testing "failed to prepare" \
-	     $testfile $srcfile {debug pthreads}] == -1} {
-	set GDBFLAGS $saved_gdbflags
-	return -1
+	if {[prepare_for_testing "failed to prepare" \
+		 $testfile $srcfile {debug pthreads}] == -1} {
+	    return -1
+	}
     }
 
-    set GDBFLAGS $saved_gdbflags
-
     if {![runto_main]} {
 	return 0
     }
diff --git a/gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp b/gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp
index 7f010045e29..66311fe3831 100644
--- a/gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp
+++ b/gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp
@@ -72,10 +72,10 @@ proc do_test { cond_bp_target detach_on_fork displaced } {
     global linenum
     global is_remote_target
 
-    set saved_gdbflags $GDBFLAGS
-    set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop on\""]
-    clean_restart $binfile
-    set GDBFLAGS $saved_gdbflags
+    save_vars { GDBFLAGS } {
+	set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop on\""]
+	clean_restart $binfile
+    }
 
     if {![runto_main]} {
 	return 0
diff --git a/gdb/testsuite/gdb.threads/process-dies-while-handling-bp.exp b/gdb/testsuite/gdb.threads/process-dies-while-handling-bp.exp
index a4c50d1c1f1..2771ef742fb 100644
--- a/gdb/testsuite/gdb.threads/process-dies-while-handling-bp.exp
+++ b/gdb/testsuite/gdb.threads/process-dies-while-handling-bp.exp
@@ -40,10 +40,10 @@ proc do_test { non_stop cond_bp_target } {
     global binfile
     global linenum
 
-    set saved_gdbflags $GDBFLAGS
-    set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop $non_stop\""]
-    clean_restart $binfile
-    set GDBFLAGS $saved_gdbflags
+    save_vars { GDBFLAGS } {
+	set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop $non_stop\""]
+	clean_restart $binfile
+    }
 
     if {![runto_main]} {
 	return 0
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index d48ea37c0cc..44319ed4368 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -6104,16 +6104,14 @@ proc gdb_spawn { } {
 proc gdb_spawn_with_cmdline_opts { cmdline_flags } {
     global GDBFLAGS
 
-    set saved_gdbflags $GDBFLAGS
+    save_vars { GDBFLAGS } {
+	if {$GDBFLAGS != ""} {
+	    append GDBFLAGS " "
+	}
+	append GDBFLAGS $cmdline_flags
 
-    if {$GDBFLAGS != ""} {
-	append GDBFLAGS " "
+	set res [gdb_spawn]
     }
-    append GDBFLAGS $cmdline_flags
-
-    set res [gdb_spawn]
-
-    set GDBFLAGS $saved_gdbflags
 
     return $res
 }
-- 
2.35.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] [gdb/testsuite] Use save_vars to restore GDBFLAGS
  2024-04-17 16:58 ` [PATCH 3/3] [gdb/testsuite] Use save_vars to restore GDBFLAGS Tom de Vries
@ 2024-05-03 20:10   ` Tom Tromey
  2024-05-04  8:05     ` Tom de Vries
  0 siblings, 1 reply; 7+ messages in thread
From: Tom Tromey @ 2024-05-03 20:10 UTC (permalink / raw)
  To: Tom de Vries; +Cc: gdb-patches

>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:

Tom> There's a pattern of using:
Tom> ...
Tom> set saved_gdbflags $GDBFLAGS
Tom> set GDBFLAGS "$GDBFLAGS ..."
Tom> <do something with GDBFLAGS>
Tom> set GDBFLAGS $saved_gdbflags
Tom> ...

Tom> Simplify this by using save_vars:
Tom> ...
Tom> save_vars { GDBFLAGS } {
Tom>     set GDBFLAGS "$GDBFLAGS ..."
Tom>     <do something with GDBFLAGS>
Tom> }
Tom> ...

Great minds...
https://inbox.sourceware.org/gdb-patches/20240206173132.1272893-1-tom@tromey.com/

Anyway, ok.
Approved-By: Tom Tromey <tom@tromey.com>

Tom

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] [gdb/testsuite] Update INTERNAL_GDBFLAGS example
  2024-04-17 16:57 [PATCH 1/3] [gdb/testsuite] Update INTERNAL_GDBFLAGS example Tom de Vries
  2024-04-17 16:57 ` [PATCH 2/3] [gdb/testsuite] Remove superfluous -quiet and -ex set width/height 0 Tom de Vries
  2024-04-17 16:58 ` [PATCH 3/3] [gdb/testsuite] Use save_vars to restore GDBFLAGS Tom de Vries
@ 2024-05-03 20:10 ` Tom Tromey
  2 siblings, 0 replies; 7+ messages in thread
From: Tom Tromey @ 2024-05-03 20:10 UTC (permalink / raw)
  To: Tom de Vries; +Cc: gdb-patches

>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:

Tom> In commit 31c50280179 ("[gdb/testsuite] Add -q to INTERNAL_GDBFLAGS") I added
Tom> -q to the INTERNAL_GDBFLAGS, but I forgot to update the INTERNAL_GDBFLAGS
Tom> example in gdb/testsuite/README.

Tom> Fix this by adding the -q there as well.

Seems obvious to me, but..
Approved-By: Tom Tromey <tom@tromey.com>

Tom

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] [gdb/testsuite] Remove superfluous -quiet and -ex set width/height 0
  2024-04-17 16:57 ` [PATCH 2/3] [gdb/testsuite] Remove superfluous -quiet and -ex set width/height 0 Tom de Vries
@ 2024-05-03 20:10   ` Tom Tromey
  0 siblings, 0 replies; 7+ messages in thread
From: Tom Tromey @ 2024-05-03 20:10 UTC (permalink / raw)
  To: Tom de Vries; +Cc: gdb-patches

>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:

Tom> INTERNAL_GDBFLAGS contains:
Tom> - -quiet
Tom> - -iex "set width 0"
Tom> - -iex "set height 0"

Tom> There are test-cases that add these once more.

Tom> Clean this up.

Thank you.
Approved-By: Tom Tromey <tom@tromey.com>

Tom

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] [gdb/testsuite] Use save_vars to restore GDBFLAGS
  2024-05-03 20:10   ` Tom Tromey
@ 2024-05-04  8:05     ` Tom de Vries
  0 siblings, 0 replies; 7+ messages in thread
From: Tom de Vries @ 2024-05-04  8:05 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches

On 5/3/24 22:10, Tom Tromey wrote:
>>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
> 
> Tom> There's a pattern of using:
> Tom> ...
> Tom> set saved_gdbflags $GDBFLAGS
> Tom> set GDBFLAGS "$GDBFLAGS ..."
> Tom> <do something with GDBFLAGS>
> Tom> set GDBFLAGS $saved_gdbflags
> Tom> ...
> 
> Tom> Simplify this by using save_vars:
> Tom> ...
> Tom> save_vars { GDBFLAGS } {
> Tom>     set GDBFLAGS "$GDBFLAGS ..."
> Tom>     <do something with GDBFLAGS>
> Tom> }
> Tom> ...
> 
> Great minds...
> https://inbox.sourceware.org/gdb-patches/20240206173132.1272893-1-tom@tromey.com/
> 
> Anyway, ok.
> Approved-By: Tom Tromey <tom@tromey.com>

Ah, I duplicated some work, sorry about that.

Anyway, thanks for the review.

- Tom


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-05-04  8:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-17 16:57 [PATCH 1/3] [gdb/testsuite] Update INTERNAL_GDBFLAGS example Tom de Vries
2024-04-17 16:57 ` [PATCH 2/3] [gdb/testsuite] Remove superfluous -quiet and -ex set width/height 0 Tom de Vries
2024-05-03 20:10   ` Tom Tromey
2024-04-17 16:58 ` [PATCH 3/3] [gdb/testsuite] Use save_vars to restore GDBFLAGS Tom de Vries
2024-05-03 20:10   ` Tom Tromey
2024-05-04  8:05     ` Tom de Vries
2024-05-03 20:10 ` [PATCH 1/3] [gdb/testsuite] Update INTERNAL_GDBFLAGS example Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).