On Wed, Jun 02, 2021 at 06:46:46PM +0700, Đoàn Trần Công Danh wrote: > In some test-cases, utf-8 locale is required. To find such locale, > we're using the first available UTF-8 locale that returned by > "locale -a". > > Despite being required by POSIX, locale(1) is unavailable in some > systems, e.g. Linux with musl libc. Some of those systems support > utf-8 locale out of the box. > > However, without "locale -a", we can't guess provided UTF-8 locale. > > Let's give users of those systems an option to have better test > coverage. That makes sense. At first I thought this was fixing a test breakage, and wondered if we should simply be skipping the tests. But after reading more carefully, we already are doing that, and this is just allowing those tests to run in more places (you even said so in the last sentence above, but I missed it, so I am calling it out). I kind of wonder if trying "C.UTF-8" would be a reasonable fallback so that people don't even have to set this extra Makefile knob. But I'm not sure if we have a good way of testing if that locale works (if we can't find the "locale" binary). So this is probably a reasonable medium ground. > --- > Makefile | 6 ++++++ > t/lib-git-svn.sh | 15 +++++++++------ > t/t9100-git-svn-basic.sh | 14 +++----------- > t/t9115-git-svn-dcommit-funky-renames.sh | 6 +++--- > t/t9129-git-svn-i18n-commitencoding.sh | 4 ++-- > 5 files changed, 23 insertions(+), 22 deletions(-) I think we test musl in our ci builds; should we do something like: diff --git a/ci/lib.sh b/ci/lib.sh index d848c036c5..ec67398c18 100755 --- a/ci/lib.sh +++ b/ci/lib.sh @@ -229,6 +229,7 @@ linux-musl) CC=gcc MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python3 USE_LIBPCRE2=Yes" MAKEFLAGS="$MAKEFLAGS NO_REGEX=Yes ICONV_OMITS_BOM=Yes" + MAKEFLAGS="$MAKEFLAGS GIT_TEST_UTF8_LOCALE=something.UTF-8?" ;; esac here, too (I don't know what the correct "something" is here; maybe "C")? -Peff