diff options
author | Tom de Vries <tdevries@suse.de> | 2022-11-14 12:12:19 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-11-14 12:12:19 +0100 |
commit | 7f21d259bcefda58b701af01cc6a749c8133fb2b (patch) | |
tree | 02b98b4e1c93a031383a8ba41b30762f0517a4b7 /gdb/testsuite/lib | |
parent | 8d45c3a82a0eb5ecfc9049bed5569f9e27e3be8c (diff) | |
download | gdb-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.exp | 22 |
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} { |