diff options
author | Dan Fandrich <dan@coneharvesters.com> | 2017-02-23 21:47:17 +0100 |
---|---|---|
committer | Dan Fandrich <dan@coneharvesters.com> | 2017-02-23 23:14:00 +0100 |
commit | ecd1d020abdae3c3ce3643ddab3106501e62e7c0 (patch) | |
tree | 2e6710f53929750f22c119c7e3f84c4069e66211 | |
parent | 93cce2489db9289e17a4daaa58483d7bd94afffe (diff) |
tests: use consistent environment variables for setting charset
Character set in POSIX is set by the locale defined (in decreasing order
of precedence) by the LC_ALL, LC_CTYPE and LANG environment variables (I
believe CHARSET is only historic). 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 overriden, if set. 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
(where relevant) to skip the test if UTF-8 isn't in use. Test 1035 was
also converted to UTF-8 for consistency, as the actual character set
used there is irrelevant to the test.
-rw-r--r-- | tests/data/test1034 | 5 | ||||
-rw-r--r-- | tests/data/test1035 | 12 | ||||
-rw-r--r-- | tests/data/test165 | 6 | ||||
-rw-r--r-- | tests/data/test2046 | 6 | ||||
-rw-r--r-- | tests/data/test2047 | 6 |
5 files changed, 28 insertions, 7 deletions
diff --git a/tests/data/test1034 b/tests/data/test1034 index c47574051..4bddf59bb 100644 --- a/tests/data/test1034 +++ b/tests/data/test1034 @@ -33,7 +33,12 @@ idn </features> <setenv> CHARSET=UTF-8 +LC_ALL= +LC_CTYPE=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> HTTP over proxy with malformatted IDN host name </name> diff --git a/tests/data/test1035 b/tests/data/test1035 index 05172ec9a..1be22a84a 100644 --- a/tests/data/test1035 +++ b/tests/data/test1035 @@ -33,13 +33,17 @@ idn </features> <setenv> CHARSET=UTF-8 -LANG=en_US.UTF-8 +LC_ALL= +LC_CTYPE=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> HTTP over proxy with too long IDN host name </name> <command> -http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 -x %HOSTIP:%HTTPPORT +http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 -x %HOSTIP:%HTTPPORT </command> </client> @@ -50,8 +54,8 @@ http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 ^User-Agent:.* </strip> <protocol> -GET http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 HTTP/1.1
-Host: too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local
+GET http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 HTTP/1.1
+Host: too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local
Accept: */*
Proxy-Connection: Keep-Alive
diff --git a/tests/data/test165 b/tests/data/test165 index 6fc0ad2d5..4d48c0c65 100644 --- a/tests/data/test165 +++ b/tests/data/test165 @@ -32,8 +32,12 @@ idn </features> <setenv> CHARSET=UTF-8 -LANG=en_US.UTF-8 +LC_ALL= +LC_CTYPE=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> HTTP over proxy with IDN host name </name> diff --git a/tests/data/test2046 b/tests/data/test2046 index 0f0eb52c6..135c4dac9 100644 --- a/tests/data/test2046 +++ b/tests/data/test2046 @@ -42,8 +42,12 @@ idn </features> <setenv> CHARSET=UTF-8 -LANG=en_US.UTF-8 +LC_ALL= +LC_CTYPE=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> diff --git a/tests/data/test2047 b/tests/data/test2047 index f54a30af6..e5c122d1b 100644 --- a/tests/data/test2047 +++ b/tests/data/test2047 @@ -43,8 +43,12 @@ idn </features> <setenv> CHARSET=UTF-8 -LANG=en_US.UTF-8 +LC_ALL= +LC_CTYPE=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 over HTTP proxy </name> |