Re: [PATCH] t0200: "locale" may not exist
- From
Jeff King <peff@peff.net>
- Date
- Dec 19, 2012, 13:18 UTC
- Message-ID
- <20121219131822.GB7134@sigill.intra.peff.net>
- In-Reply-To
- <7vlicubkt4.fsf@alter.siamese.dyndns.org>
On Tue, Dec 18, 2012 at 10:47:03PM -0800, Junio C Hamano wrote:
> On systems without "locale" installed, t0200-gettext-basic.sh leaked > error messages when checking if some test locales are available. > Hide them, as they are not very useful.
Obviously correct, though there is another way:
Show 6 quoted lines
> diff --git a/t/lib-gettext.sh b/t/lib-gettext.sh > index 0f76f6c..ae8883a 100644 > --- a/t/lib-gettext.sh > +++ b/t/lib-gettext.sh > @@ -14,12 +14,14 @@ export GIT_TEXTDOMAINDIR GIT_PO_PATH > if test_have_prereq GETTEXT && ! test_have_prereq GETTEXT_POISON
If we turn this line into:
test_expect_success GETTEXT,!GETTEXT_POISON 'setup locale' '
then people can see the error output of the setup step in verbose mode.
Annoyingly, though, it means tweaking the quoting throughout the block to handle embedded single-quotes (if there is one feature I could take from perl back into shell, it would be arbitrary quote delimiters).
Patch is below. I don't know if it is worth the complexity.
-Peff
diff --git a/t/lib-gettext.sh b/t/lib-gettext.sh index 0f76f6c..d962c00 100644 --- a/t/lib-gettext.sh +++ b/t/lib-gettext.sh @@ -11,18 +11,17 @@ then . "$GIT_BUILD_DIR"/git-sh-i18n -if test_have_prereq GETTEXT && ! test_have_prereq GETTEXT_POISON -then +test_expect_success GETTEXT,!GETTEXT_POISON 'setup locale' ' # is_IS.UTF-8 on Solaris and FreeBSD, is_IS.utf8 on Debian - is_IS_locale=$(locale -a | sed -n '/^is_IS\.[uU][tT][fF]-*8$/{ + is_IS_locale=$(locale -a | sed -n "/^is_IS\.[uU][tT][fF]-*8\$/{ p q - }') + }") # is_IS.ISO8859-1 on Solaris and FreeBSD, is_IS.iso88591 on Debian - is_IS_iso_locale=$(locale -a | sed -n '/^is_IS\.[iI][sS][oO]8859-*1$/{ + is_IS_iso_locale=$(locale -a | sed -n "/^is_IS\.[iI][sS][oO]8859-*1\$/{ p q - }') + }") # Export them as an environment variable so the t0202/test.pl Perl # test can use it too @@ -37,7 +36,7 @@ then # Exporting for t0202/test.pl GETTEXT_LOCALE=1 export GETTEXT_LOCALE - say "# lib-gettext: Found '$is_IS_locale' as an is_IS UTF-8 locale" + say "# lib-gettext: Found \"$is_IS_locale\" as an is_IS UTF-8 locale" else say "# lib-gettext: No is_IS UTF-8 locale available" fi @@ -48,8 +47,8 @@ then # Some of the tests need the reference Icelandic locale test_set_prereq GETTEXT_ISO_LOCALE - say "# lib-gettext: Found '$is_IS_iso_locale' as an is_IS ISO-8859-1 locale" + say "# lib-gettext: Found \"$is_IS_iso_locale\" as an is_IS ISO-8859-1 locale" else say "# lib-gettext: No is_IS ISO-8859-1 locale available" fi -fi +'