diff options
author | Dan Fandrich <dan@coneharvesters.com> | 2017-02-23 21:47:17 +0100 |
---|---|---|
committer | Dan Fandrich <dan@coneharvesters.com> | 2017-02-25 15:33:29 +0100 |
commit | c6ddb606d8a3fdbe89763f7299e7f43cf6581567 (patch) | |
tree | 2499fedcf9ff081deadeb83141f8e36192cbd114 /tests/data/test2046 | |
parent | 832b0105f2273b94e07d1396ecb4a57db5ae08e1 (diff) |
tests: use consistent environment variables for setting charset
The character set in POSIX is set by the locale defined by (in
decreasing order of precedence) the LC_ALL, LC_CTYPE and LANG
environment variables (CHARSET was used by libidn but not libidn2).
LC_ALL is cleared to ensure that LC_CTYPE takes effect, but LC_ALL is
not used to set the locale to ensure that other parts of the locale
aren't overridden. Since there doesn't seem to be a cross-platform way
of specifying a UTF-8 locale, and not all systems may support UTF-8, a
<precheck> is used to skip the test if UTF-8 can't be verified to be
available. Test 1035 was also converted to UTF-8 for consistency, as
the actual character set used there is irrelevant to the test.
This patch uses a different UTF-8 locale than the last attempt, namely
en_US.UTF-8. This one has been verified on 7 different Linux and BSD
distributions and is more complete and usable than the locale UTF-8 (on
at least some systems).
Diffstat (limited to 'tests/data/test2046')
-rw-r--r-- | tests/data/test2046 | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tests/data/test2046 b/tests/data/test2046 index 0f0eb52c6..dcd202f04 100644 --- a/tests/data/test2046 +++ b/tests/data/test2046 @@ -41,9 +41,12 @@ http idn </features> <setenv> -CHARSET=UTF-8 -LANG=en_US.UTF-8 +LC_ALL= +LC_CTYPE=en_US.UTF-8 </setenv> +<precheck> +perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' +</precheck> <name> Connection re-use with IDN host name </name> |