]> granicus.if.org Git - curl/commitdiff
tests: use consistent environment variables for setting charset
authorDan Fandrich <dan@coneharvesters.com>
Thu, 23 Feb 2017 20:47:17 +0000 (21:47 +0100)
committerDan Fandrich <dan@coneharvesters.com>
Thu, 23 Feb 2017 22:14:00 +0000 (23:14 +0100)
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.

tests/data/test1034
tests/data/test1035
tests/data/test165
tests/data/test2046
tests/data/test2047

index c47574051328a2808fb1195be45342da2a97364b..4bddf59bbb2418f40e2b79189e9c970772494ec4 100644 (file)
@@ -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>
index 05172ec9a0421143d2509dbf3eabc2e13eafd67c..1be22a84a5c682d95d374a3e04cb971a15dd497b 100644 (file)
@@ -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
 ^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\r
-Host: too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local\r
+GET http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 HTTP/1.1\r
+Host: too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local\r
 Accept: */*\r
 Proxy-Connection: Keep-Alive\r
 \r
index 6fc0ad2d572dcbf80a5018e5204b878296870170..4d48c0c656dc1cc08fbfea5479f2b89a5be1acf5 100644 (file)
@@ -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>
index 0f0eb52c672c581ee4aa5607032edb217f2aedcb..135c4dac9b28c2712fe99d18e699196559fd5fb9 100644 (file)
@@ -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>
index f54a30af658ea54642e49ee10de4f3308b214d47..e5c122d1bb347022a57edbf730b7a001c25b2f65 100644 (file)
@@ -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>