From ecd1d020abdae3c3ce3643ddab3106501e62e7c0 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Thu, 23 Feb 2017 21:47:17 +0100 Subject: [PATCH] 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 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. --- tests/data/test1034 | 5 +++++ tests/data/test1035 | 12 ++++++++---- tests/data/test165 | 6 +++++- tests/data/test2046 | 6 +++++- 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 CHARSET=UTF-8 +LC_ALL= +LC_CTYPE=UTF-8 + +perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' + HTTP over proxy with malformatted IDN host 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 CHARSET=UTF-8 -LANG=en_US.UTF-8 +LC_ALL= +LC_CTYPE=UTF-8 + +perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' + HTTP over proxy with too long IDN host name -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 @@ -50,8 +54,8 @@ http://too-long-IDN-name-c ^User-Agent:.* -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 CHARSET=UTF-8 -LANG=en_US.UTF-8 +LC_ALL= +LC_CTYPE=UTF-8 + +perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' + HTTP over proxy with IDN host 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 CHARSET=UTF-8 -LANG=en_US.UTF-8 +LC_ALL= +LC_CTYPE=UTF-8 + +perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' + Connection re-use with IDN host 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 CHARSET=UTF-8 -LANG=en_US.UTF-8 +LC_ALL= +LC_CTYPE=UTF-8 + +perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' + Connection re-use with IDN host name over HTTP proxy