mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 10:03:47 +08:00
[gdb/testsuite] Add have_host_locale
With test-case gdb.tui/pr30056.exp, I run into: ... sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8)^M ... and then subsequently into: ... WARNING: timeout in accept_gdb_output FAIL: gdb.tui/pr30056.exp: Control-C ... This is on a CentOS 7 distro for powerpc64le. Either it has no C.UTF-8 support, or it's not installed: ... $ locale -a | grep ^C C $ ... Fix this by: - adding a new proc have_host_locale, and - using it in all test-cases using setenv LC_ALL. Tested on powerpc64le-linux and x86_64-linux.
This commit is contained in:
parent
b96cac1607
commit
83aa25512d
@ -18,6 +18,7 @@
|
||||
load_lib "ada.exp"
|
||||
|
||||
require allow_ada_tests
|
||||
require {have_host_locale C.UTF-8}
|
||||
|
||||
# Enable basic use of UTF-8. LC_ALL gets reset for each testfile. We
|
||||
# want this despite the program itself using Latin-1, as this test is
|
||||
|
@ -18,6 +18,7 @@
|
||||
load_lib "ada.exp"
|
||||
|
||||
require allow_ada_tests
|
||||
require {have_host_locale C.UTF-8}
|
||||
|
||||
# Enable basic use of UTF-8. LC_ALL gets reset for each testfile. We
|
||||
# want this despite the program itself using Latin-1, as this test is
|
||||
|
@ -18,6 +18,7 @@
|
||||
load_lib "ada.exp"
|
||||
|
||||
require allow_ada_tests
|
||||
require {have_host_locale C.UTF-8}
|
||||
|
||||
# Enable basic use of UTF-8. LC_ALL gets reset for each testfile.
|
||||
setenv LC_ALL C.UTF-8
|
||||
|
@ -25,6 +25,7 @@ if { [is_c_compiler_gcc] } {
|
||||
# Gcc fully supports fextended-identifiers starting GCC 5.
|
||||
require {expr [gcc_major_version] >= 5}
|
||||
}
|
||||
require {have_host_locale C.UTF-8}
|
||||
|
||||
standard_testfile
|
||||
|
||||
|
@ -18,6 +18,7 @@
|
||||
load_lib rust-support.exp
|
||||
require allow_rust_tests
|
||||
require {can_compile rust}
|
||||
require {have_host_locale C.UTF-8}
|
||||
|
||||
# Non-ASCII identifiers were allowed starting in 1.53.
|
||||
require {rust_at_least 1.53}
|
||||
|
@ -18,6 +18,7 @@
|
||||
# This PR is fixed in the in-repo copy of readline. System readline may or
|
||||
# may not be fixed, so skip this test-case.
|
||||
require !with_system_readline
|
||||
require {have_host_locale C.UTF-8}
|
||||
|
||||
tuiterm_env
|
||||
|
||||
|
@ -9794,5 +9794,41 @@ proc lappend_include_file { flags file } {
|
||||
}
|
||||
}
|
||||
|
||||
# Return a list of supported host locales.
|
||||
|
||||
gdb_caching_proc host_locales { } {
|
||||
set result [remote_exec host "locale -a"]
|
||||
set status [lindex $result 0]
|
||||
set output [lindex $result 1]
|
||||
|
||||
if { $status != 0 } {
|
||||
return {}
|
||||
}
|
||||
|
||||
# Split into list.
|
||||
set output [string trim $output]
|
||||
set l [split $output \n]
|
||||
|
||||
# Trim items.
|
||||
set l [lmap v $l { string trim $v }]
|
||||
|
||||
# Normalize items to lower-case.
|
||||
set l [lmap v $l { string tolower $v }]
|
||||
|
||||
return $l
|
||||
}
|
||||
|
||||
# Return 1 if host locale LOCALE is supported.
|
||||
|
||||
proc have_host_locale { locale } {
|
||||
# Normalize to lower-case.
|
||||
set locale [string tolower $locale]
|
||||
# Normalize to without dash.
|
||||
set locale [string map { "-" "" } $locale]
|
||||
|
||||
set idx [lsearch [host_locales] $locale]
|
||||
return [expr $idx != -1]
|
||||
}
|
||||
|
||||
# Always load compatibility stuff.
|
||||
load_lib future.exp
|
||||
|
Loading…
Reference in New Issue
Block a user