Building grep-3.11 on FreeBSD 14.0, "make check" reports that the fmbtest test is skipped:
fmbtest: skipped test: this system lacks the cs_CZ.UTF-8 locale SKIP: fmbtest But $ locale -a | grep cs_CZ cs_CZ.ISO8859-2 cz_CZ.UTF-8 shows that the system does have this locale. The cause is that this invocation of 'locale' does not work: $ locale -k LC_CTYPE Unknown keyword: `LC_CTYPE` But this one works: $ locale charmap UTF-8 => Patch attached. It fixes the problem: it makes the test PASS. 'locale charmap' is known to work portably for ages; see https://git.savannah.gnu.org/gitweb/?p=libiconv.git;a=tree;f=libcharset/tools;h=f756e65e5ea8fef47afc8bb7ae1094e169012c78;hb=HEAD
>From a4501af35dcc7603ee5f500aa87aafe577958010 Mon Sep 17 00:00:00 2001 From: Bruno Haible <br...@clisp.org> Date: Mon, 8 Jul 2024 14:06:16 +0200 Subject: [PATCH] tests: Fix recognition of cs_CZ.UTF-8 locale on FreeBSD. * tests/fmbtest: Use 'locale charmap' to determine the locale's encoding. * tests/foad1: Likewise. --- tests/fmbtest | 2 +- tests/foad1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/fmbtest b/tests/fmbtest index 38dd49d..f3404fd 100755 --- a/tests/fmbtest +++ b/tests/fmbtest @@ -10,7 +10,7 @@ cz=cs_CZ.UTF-8 # If cs_CZ.UTF-8 locale doesn't work, skip this test. -LC_ALL=$cz locale -k LC_CTYPE 2>/dev/null | grep -q charmap.*UTF-8 \ +test "`LC_ALL=$cz locale charmap 2>/dev/null`" = UTF-8 \ || skip_ this system lacks the $cz locale # If matching is done in single-byte mode, skip this test too diff --git a/tests/foad1 b/tests/foad1 index 3a29f9e..b87e3f3 100755 --- a/tests/foad1 +++ b/tests/foad1 @@ -150,7 +150,7 @@ Exit $failures # The rest of this file is meant to be executed under this locale. LC_ALL=cs_CZ.UTF-8; export LC_ALL # If the UTF-8 locale doesn't work, skip these tests silently. -locale -k LC_CTYPE 2>/dev/null | grep -q "charmap.*UTF-8" || Exit $failures +test "`locale charmap 2>/dev/null`" = UTF-8 || Exit $failures # Test character class erroneously matching a '[' character. grep_test "[/" "" "[[:alpha:]]" -E -- 2.34.1