summaryrefslogtreecommitdiff
path: root/t/t9129-git-svn-i18n-commitencoding.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-06-02 12:15:48 -0700
committerJunio C Hamano <gitster@pobox.com>2010-06-02 12:15:48 -0700
commit2de03ebe0635c93e182c3367140f999e79bdadcd (patch)
tree27cf5e91aa364aa4e691c1222926ef1403af8642 /t/t9129-git-svn-i18n-commitencoding.sh
parent6774e2bf0822cd4358620d3e806f9b3df8bd777e (diff)
downloadgit-2de03ebe0635c93e182c3367140f999e79bdadcd.tar.gz
t9129: fix UTF-8 locale detection
The UTF-8 prerequisite test checked explicitly for en_US.utf8 in the output from "locale -a", but the tests that are actually protected by the prerequisite were asking LC_ALL=en_US.UTF-8 from the system. This inconsistency leads the tests to fail on platforms that do not know both en_US.UTF-8 and en_US.utf8 (thanks you, Yann Droneaud, for bringing this up with an initial patch). Instead, pick a locale with ".UTF-8" (with or without hyphen, spelled in either upper or lowercase) in its name from "locale -a" output, and use it for running the test. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9129-git-svn-i18n-commitencoding.sh')
-rwxr-xr-xt/t9129-git-svn-i18n-commitencoding.sh20
1 files changed, 13 insertions, 7 deletions
diff --git a/t/t9129-git-svn-i18n-commitencoding.sh b/t/t9129-git-svn-i18n-commitencoding.sh
index b9224bdb20..1e9a2eb12b 100755
--- a/t/t9129-git-svn-i18n-commitencoding.sh
+++ b/t/t9129-git-svn-i18n-commitencoding.sh
@@ -14,10 +14,22 @@ compare_git_head_with () {
test_cmp current "$1"
}
+a_utf8_locale=$(locale -a | sed -n '/\.[uU][tT][fF]-*8$/{
+ p
+ q
+}')
+
+if test -n "$a_utf8_locale"
+then
+ test_set_prereq UTF8
+else
+ say "UTF-8 locale not available, some tests are skipped"
+fi
+
compare_svn_head_with () {
# extract just the log message and strip out committer info.
# don't use --limit here since svn 1.1.x doesn't have it,
- LC_ALL=en_US.UTF-8 svn log `git svn info --url` | perl -w -e '
+ LC_ALL="$a_utf8_locale" svn log `git svn info --url` | perl -w -e '
use bytes;
$/ = ("-"x72) . "\n";
my @x = <STDIN>;
@@ -69,12 +81,6 @@ do
'
done
-if locale -a |grep -q en_US.utf8; then
- test_set_prereq UTF8
-else
- say "UTF-8 locale not available, test skipped"
-fi
-
test_expect_success UTF8 'ISO-8859-1 should match UTF-8 in svn' '
(
cd ISO8859-1 &&