mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
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>
This commit is contained in:
parent
6774e2bf08
commit
2de03ebe06
|
@ -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 &&
|
||||
|
|
Loading…
Reference in a new issue