aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/lib
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-11-14 12:12:19 +0100
committerTom de Vries <tdevries@suse.de>2022-11-14 12:12:19 +0100
commit7f21d259bcefda58b701af01cc6a749c8133fb2b (patch)
tree02b98b4e1c93a031383a8ba41b30762f0517a4b7 /gdb/testsuite/lib
parent8d45c3a82a0eb5ecfc9049bed5569f9e27e3be8c (diff)
downloadgdb-7f21d259bcefda58b701af01cc6a749c8133fb2b.zip
gdb-7f21d259bcefda58b701af01cc6a749c8133fb2b.tar.gz
gdb-7f21d259bcefda58b701af01cc6a749c8133fb2b.tar.bz2
[gdb/testsuite] Handle with_set arch
I realized that the more irregular output of show arch: ... (gdb) show arch^M The target architecture is set to "auto" (currently "i386").^M ... would be a problem for something like: ... with_set arch powerpc:common64 {} ... and indeed: ... (gdb) set arch powerpc:common64^M The target architecture is set to "powerpc:common64".^M (gdb) FAIL: gdb.base/foo.exp: set arch powerpc:common64 ... and: ... (gdb) set arch set to "auto" (currently "i386")^M Undefined item: "set".^M ... Fix this in with_set by handling this type of output. Tested on x86_64-linux.
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r--gdb/testsuite/lib/gdb.exp22
1 files changed, 20 insertions, 2 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 40a7c77..bdb8da9 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -5924,18 +5924,36 @@ proc with_set { var val body } {
}
}
+ # Handle 'set to "auto" (currently "i386")'.
+ set save [regsub {^set to} $save ""]
+ set save [regsub {\([^\r\n]+\)$} $save ""]
+ set save [string trim $save]
+ set save [regsub -all {^"|"$} $save ""]
+
if { $save == "" } {
perror "Did not manage to set $var"
} else {
# Set var.
- gdb_test_no_output -nopass "set $var $val"
+ set cmd "set $var $val"
+ gdb_test_multiple $cmd "" {
+ -re -wrap "^$cmd" {
+ }
+ -re -wrap " is set to \"?$val\"?\\." {
+ }
+ }
}
set code [catch {uplevel 1 $body} result]
# Restore saved setting.
if { $save != "" } {
- gdb_test_no_output -nopass "set $var $save"
+ set cmd "set $var $save"
+ gdb_test_multiple $cmd "" {
+ -re -wrap "^$cmd" {
+ }
+ -re -wrap "is set to \"?$save\"?( \\(\[^)\]*\\))?\\." {
+ }
+ }
}
if {$code == 1} {