Ludovic Courtès wrote: > This commit [0] assumes that the ‘en_US.UTF-8’ locale is available. > This breaks Hydra builds [1] because the only locale available there is C. > > I think ‘configure’ should check for this locale, just like it checks > for a french locale, etc. > > [0] > http://git.savannah.gnu.org/cgit/grep.git/diff/?id=3220317a428d63a4303ffee0fb45becf835cf1fd&id2=90cc2ba27bd3f368b945f89a60be4220b73baac7 > [1] http://hydra.nixos.org/build/332654
Hi Ludovic, Thanks for the reminder. This should fix it. Can you easily/quickly test this pair of commits? >From 32d5db19e87a3a52fe67e028d828c136b659660b Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Thu, 1 Apr 2010 11:45:23 +0200 Subject: [PATCH 1/2] tests: new function, to require an en_US UTF8 locale * tests/init.cfg (require_en_utf8_locale_): New function. --- tests/init.cfg | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/tests/init.cfg b/tests/init.cfg index 6f957b3..8fc8c32 100644 --- a/tests/init.cfg +++ b/tests/init.cfg @@ -38,3 +38,14 @@ require_timeout_() ( timeout --version ) > /dev/null 2>&1 \ || skip_ your system lacks the timeout program } + +# Some tests would fail without this particular locale. +# If the locale is not available, just skip the test. +require_en_utf8_locale_() +{ + path_prepend_ . + case $(get-mb-cur-max en_US.UTF-8) in + [3456]) ;; + *) skip_ 'en_US.UTF-8 locale not found' ;; + esac +} -- 1.7.0.3.513.gc8ed0 >From 5a8d2e8737c40068ceeaf63ff8182b5a97da872f Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Thu, 1 Apr 2010 11:53:54 +0200 Subject: [PATCH 2/2] tests: add explicit requirement for en_US.UTF-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tests/char-class-multibyte: Use require_en_utf8_locale_, rather than open-coding it. * tests/prefix-of-multibyte: Require the locale explicitly. * tests/fgrep-infloop: Likewise. This fixes test failures that would arise on systems without that particular locale. Reported by Ludovic Courtès. --- THANKS | 1 + tests/char-class-multibyte | 7 ++----- tests/fgrep-infloop | 1 + tests/prefix-of-multibyte | 2 ++ 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/THANKS b/THANKS index c3406a0..18314f8 100644 --- a/THANKS +++ b/THANKS @@ -54,6 +54,7 @@ Kazuro Furukawa <[email protected]> Keith Bostic <[email protected]> Krishna Sethuraman <[email protected]> Kurt D Schwehr <[email protected]> +Ludovic Courtès <[email protected]> Mark Waite <[email protected]> Martin P.J. Zinser <[email protected]> Martin Rex <[email protected]> diff --git a/tests/char-class-multibyte b/tests/char-class-multibyte index 825e3ad..95220ee 100644 --- a/tests/char-class-multibyte +++ b/tests/char-class-multibyte @@ -1,12 +1,9 @@ #!/bin/sh # This would segfault for grep-2.6 : ${srcdir=.} -. "$srcdir/init.sh"; path_prepend_ . ../src +. "$srcdir/init.sh"; path_prepend_ ../src -case $(get-mb-cur-max en_US.UTF-8) in - [3456]) ;; - *) skip_ 'UTF-8 locale not found' ;; -esac +require_en_utf8_locale_ printf 'é\n' > exp1 || framework_failure_ fail=0 diff --git a/tests/fgrep-infloop b/tests/fgrep-infloop index 159baca..7491918 100644 --- a/tests/fgrep-infloop +++ b/tests/fgrep-infloop @@ -3,6 +3,7 @@ : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ ../src +require_en_utf8_locale_ require_timeout_ encode() { echo "$1" | tr ABC '\357\274\241'; } diff --git a/tests/prefix-of-multibyte b/tests/prefix-of-multibyte index f9e42bf..c077b81 100644 --- a/tests/prefix-of-multibyte +++ b/tests/prefix-of-multibyte @@ -3,6 +3,8 @@ : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ ../src +require_en_utf8_locale_ + encode() { echo "$1" | tr ABC '\357\274\241'; } fail=0 -- 1.7.0.3.513.gc8ed0
