summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.arch
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-11-30 18:49:16 +0100
committerTom de Vries <tdevries@suse.de>2022-11-30 18:49:16 +0100
commita496d4a104f2f8edca9287ab62c8d4031a272035 (patch)
tree03de97515a3a05d9626237cff3268be7d03c474e /gdb/testsuite/gdb.arch
parent885d86436c3f9ab0a13f39647860b526faa92cf8 (diff)
downloadbinutils-gdb-a496d4a104f2f8edca9287ab62c8d4031a272035.tar.gz
[gdb/testsuite] Enable gdb.arch/s390-disassembler-options.exp for --enable-targets=all
On s390x-linux, I run into: ... DUPLICATE: gdb.arch/s390-disassembler-options.exp: \ show disassembler-options esa ... First, reproduce this on x86_64-linux with --enable-targets=all, by replacing the test for 'istarget "s390*-*-*"' with a test for 'get_set_option_choices "set architecture" "s390"'. Fix the DUPLICATE by using with_test_prefix. Also modernize the test-case by using clean_restart instead of gdb_exit/gdb_start. Tested on x86_64-linux.
Diffstat (limited to 'gdb/testsuite/gdb.arch')
-rw-r--r--gdb/testsuite/gdb.arch/s390-disassembler-options.exp36
1 files changed, 20 insertions, 16 deletions
diff --git a/gdb/testsuite/gdb.arch/s390-disassembler-options.exp b/gdb/testsuite/gdb.arch/s390-disassembler-options.exp
index 7ba9e51cc3c..df6c2363069 100644
--- a/gdb/testsuite/gdb.arch/s390-disassembler-options.exp
+++ b/gdb/testsuite/gdb.arch/s390-disassembler-options.exp
@@ -18,39 +18,43 @@
# This test exercises set/show disassembler-options results are preserved
# across multiple set architecture calls.
-if {![istarget "s390*-*-*"]} {
- verbose "Skipping S390 disassembler options."
- return
-}
-
-gdb_exit
-gdb_start
+clean_restart
-set option "esa"
+set archs [get_set_option_choices "set architecture" "s390"]
set arch1 "s390:64-bit"
set arch2 "s390:31-bit"
+foreach arch [list $arch1 $arch2] {
+ if { [lsearch -exact $archs $arch] == -1 } {
+ return
+ }
+}
-gdb_test "set architecture $arch1" \
+set option "esa"
+
+with_test_prefix $arch1 {
+ gdb_test "set architecture $arch1" \
"The target architecture is set to \"$arch1\"\." \
"set architecture $arch1"
-gdb_test_no_output "set disassembler-options"
-gdb_test "show disassembler-options" \
+ gdb_test_no_output "set disassembler-options"
+ gdb_test "show disassembler-options" \
"The current disassembler options are ''.*" \
"show NULL disassembler-options"
-gdb_test_no_output "set disassembler-options $option"
-gdb_test "show disassembler-options" \
+ gdb_test_no_output "set disassembler-options $option"
+ gdb_test "show disassembler-options" \
"The current disassembler options are '$option'.*" \
"show disassembler-options $option"
+}
# Change architectures and verify the disassembler options have been preserved.
-gdb_test "set architecture $arch2" \
+with_test_prefix $arch2 {
+ gdb_test "set architecture $arch2" \
"The target architecture is set to \"$arch2\"\." \
"set architecture $arch2"
-gdb_test "show disassembler-options" \
+ gdb_test "show disassembler-options" \
"The current disassembler options are '$option'.*" \
"show disassembler-options $option"
-
+}