tests: check setlocale return value

It might fail while nl_langinfo does not.
This commit is contained in:
Dirk-Jan C. Binnema 2024-02-25 17:10:08 +02:00
parent 5b65717ce8
commit 915335fd76
1 changed files with 4 additions and 7 deletions

View File

@ -64,15 +64,12 @@ bool
Mu::set_en_us_utf8_locale()
{
setenv("LC_ALL", "en_US.UTF-8", 1);
setlocale(LC_ALL, "en_US.UTF-8");
if (strcmp(nl_langinfo(CODESET), "UTF-8") != 0) {
/* LCOV_EXCL_START*/
mu_println("Note: Unit tests require the en_US.utf8 locale. "
"Ignoring test cases.");
/* LCOV_EXCL_STOP*/
if (auto str = setlocale(LC_ALL, "en_US.UTF-8"); !str)
return false;
if (strcmp(nl_langinfo(CODESET), "UTF-8") != 0)
return false;
}
return true;
}