intl: Add test case for bug 16621

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
Florian Weimer 2023-11-20 16:03:11 +01:00
parent f2aaf18af5
commit c52c2c32db
2 changed files with 42 additions and 1 deletions

View File

@ -32,7 +32,10 @@ test-srcs := tst-gettext tst-translit tst-gettext2 tst-codeset tst-gettext3
ifeq ($(have-thread-library),yes)
test-srcs += $(multithread-test-srcs)
endif
tests = tst-ngettext
tests = \
tst-gettext-c-utf8 \
tst-ngettext \
# tests
before-compile += $(objpfx)msgs.h
@ -117,6 +120,7 @@ $(objpfx)tst-gettext3.out: $(gen-locales)
$(objpfx)tst-gettext4.out: $(gen-locales)
$(objpfx)tst-gettext5.out: $(gen-locales)
$(objpfx)tst-gettext6.out: $(gen-locales)
$(objpfx)tst-gettext-c-utf8.out: $(gen-locales)
$(objpfx)tst-translit.out: $(gen-locales)
endif

37
intl/tst-gettext-c-utf8.c Normal file
View File

@ -0,0 +1,37 @@
/* Check that C.UTF-8 uses C translations (bug 16621).
Copyright (C) 2021-2023 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <support/check.h>
#include <support/support.h>
static int
do_test (void)
{
if (setenv ("LANGUAGE", "de_DE.UTF-8", 1) != 0)
FAIL_EXIT1 ("setenv");
if (setenv ("LC_ALL", "C.UTF-8", 1) != 0)
FAIL_EXIT1 ("setenv");
xsetlocale (LC_ALL, "");
TEST_COMPARE_STRING (strerror (ENOENT), "No such file or directory");
return 0;
}
#include <support/test-driver.c>