# 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"
-
+}