From a496d4a104f2f8edca9287ab62c8d4031a272035 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Wed, 30 Nov 2022 18:49:16 +0100 Subject: [PATCH] [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. --- .../gdb.arch/s390-disassembler-options.exp | 36 ++++++++++--------- 1 file 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" - +} -- 2.30.2