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

[PATCH 2/2] tests: fix non-portable iconv invocation

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Aug 28, 2018, 19:38 UTC
Message-ID
<20180828193827.8648-3-avarab@gmail.com>
In-Reply-To
<20180828193827.8648-1-avarab@gmail.com>

The iconv that comes with a FreeBSD 11.2-RELEASE-p2 box I have access to doesn't support the SHIFT-JIS encoding. Guard a test added in e92d62253 ("convert: add round trip check based on 'core.checkRoundtripEncoding'", 2018-04-15) first released with Git v2.18.0 with a prerequisite that checks for its availability.

The iconv command is in POSIX, and we have numerous tests unconditionally relying on its ability to convert ASCII, UTF-8 and UTF-16, but unconditionally relying on the presence of more obscure encodings isn't portable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/t0028-working-tree-encoding.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/t/t0028-working-tree-encoding.sh b/t/t0028-working-tree-encoding.sh
index 12b8eb963a..b0f4490e8e 100755
--- a/t/t0028-working-tree-encoding.sh
+++ b/t/t0028-working-tree-encoding.sh
@@ -203,7 +203,11 @@ test_expect_success 'error if encoding garbage is already in Git' '
 	test_i18ngrep "error: BOM is required" err.out
 '
 
-test_expect_success 'check roundtrip encoding' '
+test_lazy_prereq ICONV_SHIFT_JIS '
+	iconv -f UTF-8 -t SHIFT-JIS </dev/null 2>/dev/null
+'
+
+test_expect_success ICONV_SHIFT_JIS 'check roundtrip encoding' '
 	test_when_finished "rm -f roundtrip.shift roundtrip.utf16" &&
 	test_when_finished "git reset --hard HEAD" &&
 
-- 
2.19.0.rc0.228.g281dcd1b4d0
Previous: Ann T RopeaNext: Jonathan Nieder
Message 5 of 6 in “FreeBSD & AIX test portability fixes”
  1. 0/2 FreeBSD & AIX test portability fixesÆvar Arnfjörð Bjarmason, Aug 28, 2018
  2. 1/2 tests: fix non-portable "${var:-"str"}" constructÆvar Arnfjörð Bjarmason, Aug 28, 2018
  3. Junio C HamanoAug 28, 2018
  4. Ann T RopeaAug 29, 2018
  5. 2/2 tests: fix non-portable iconv invocationÆvar Arnfjörð Bjarmason, Aug 28, 2018
  6. Jonathan NiederAug 28, 2018

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.