aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/wchar.exp
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2014-05-27 19:56:21 +0800
committerYao Qi <yao@codesourcery.com>2014-06-17 19:35:32 +0800
commit0fc059972058a4afb22882a61143c7cc48eca883 (patch)
treea3da1cf91279bb4479c4293c7c851163eace6d59 /gdb/testsuite/gdb.base/wchar.exp
parent70795c525e5b8ca5e9fb8ffbaf33a5f281d53320 (diff)
downloadgdb-0fc059972058a4afb22882a61143c7cc48eca883.zip
gdb-0fc059972058a4afb22882a61143c7cc48eca883.tar.gz
gdb-0fc059972058a4afb22882a61143c7cc48eca883.tar.bz2
Different outputs affected by hosts
We find the following fails in gdb test on mingw host. FAIL: gdb.base/wchar.exp: print repeat FAIL: gdb.base/wchar.exp: print repeat_p FAIL: gdb.base/wchar.exp: print repeat (print null on) FAIL: gdb.base/wchar.exp: print repeat (print elements 3) FAIL: gdb.base/wchar.exp: print repeat_p (print elements 3) print repeat^M $7 = L"A", '¢' <repeats 21 times>, "B", '\000' <repeats 104 times>^M (gdb) FAIL: gdb.base/wchar.exp: print repeat the \242 is expected in the test but cent sign is displayed. In valprint.c:print_wchar, wchar_printable is called to determine whether a wchar is printable. wchar_printable calls iswprint but the iswprint's return value depends on LC_CTYPE setting of locale [1, 2]. The output may vary with different locale settings and OS. IMO, '¢' (cent sign) is a correct output on Windows. [1] http://pubs.opengroup.org/onlinepubs/009604499/functions/iswprint.html [2] http://msdn.microsoft.com/en-us/library/ewx8s4kw.aspx This patch is set $cent to cent sign if the GDB is running on a Windows host. gdb/testsuite: 2014-06-17 Yao Qi <yao@codesourcery.com> * gdb.base/wchar.exp: Set $cent to \u00A2 if "host-charset" is CP1252.
Diffstat (limited to 'gdb/testsuite/gdb.base/wchar.exp')
-rw-r--r--gdb/testsuite/gdb.base/wchar.exp14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/wchar.exp b/gdb/testsuite/gdb.base/wchar.exp
index 4290478..651bd88 100644
--- a/gdb/testsuite/gdb.base/wchar.exp
+++ b/gdb/testsuite/gdb.base/wchar.exp
@@ -37,6 +37,20 @@ gdb_test "print simple\[2\]" "= 99 L'c'"
gdb_test "print difficile\[2\]" "= 65261 L'\\\\xfeed'"
set cent "\\\\242"
+
+set test "show host-charset"
+gdb_test_multiple $test $test {
+ -re "CP1252\".*\r\n$gdb_prompt $" {
+ # With Windows code page 1252 (Latin 1), the cent
+ # is printable.
+ set cent "\u00A2"
+ pass $test
+ }
+ -re "$gdb_prompt $" {
+ pass $test
+ }
+}
+
gdb_test "print repeat" "= L\"A\", '$cent' <repeats 21 times>, \"B.*"
global hex