* gdb.base/charset.exp (valid_target_charset): New proc.
authorTom Tromey <tromey@redhat.com>
Wed, 25 Mar 2009 19:25:49 +0000 (19:25 +0000)
committerTom Tromey <tromey@redhat.com>
Wed, 25 Mar 2009 19:25:49 +0000 (19:25 +0000)
Use it to skip tests on invalid charsets.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/charset.exp

index 7f7f6f6b805902a10afac12820aaf0a888f7a424..6d9412195675007091012e5886ca1daa79a522c4 100644 (file)
@@ -1,3 +1,8 @@
+2009-03-25  Tom Tromey  <tromey@redhat.com>
+
+       * gdb.base/charset.exp (valid_target_charset): New proc.
+       Use it to skip tests on invalid charsets.
+
 2009-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        * gdb.base/completion.exp: Add a test for directory completion.
index a6368c9b4527926009a7a3c144eb27203632e684..1ce275db27941cc782f98384104fca5af16b3753 100644 (file)
@@ -131,6 +131,11 @@ proc valid_host_charset {charset} {
     return [expr {[info exists charsets($charset)] && $charsets($charset)}]
 }
 
+proc valid_target_charset {charset} {
+    global charsets
+    return [info exists charsets($charset)]
+}
+
 send_gdb "set host-charset\n"
 gdb_expect {
     -re "Requires an argument. Valid arguments are (\[^ \t\n\r,.\]*)" {
@@ -238,6 +243,9 @@ foreach host_charset $charset_subset {
         # Now try setting every possible target character set,
         # given that host charset.
         foreach target_charset $charset_subset {
+           if {![valid_target_charset $target_charset]} {
+               continue
+           }
             set testname "try `set target-charset $target_charset'"
             send_gdb "set target-charset $target_charset\n"
             gdb_expect {
@@ -376,6 +384,10 @@ if {$wchar_size == 2} {
 
 gdb_test "set host-charset ASCII" ""
 foreach target_charset $charset_subset {
+    if {![valid_target_charset $target_charset]} {
+       continue
+    }
+
     if {$target_charset == "UCS-4" || $target_charset == "UCS-2"} {
        set param target-wide-charset
        set L L