git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
+'
Previous: Junio C HamanoNext: Junio C Hamano
Message 2 of 4 in “t0200: "locale" may not exist”
  1. t0200: "locale" may not existJunio C Hamano, Dec 19, 2012
  2. Jeff KingDec 19, 2012
  3. Junio C HamanoDec 19, 2012
  4. Jeff KingDec 19, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.