Message ID | 87o7iiukpt.fsf@oldenburg3.str.redhat.com |
---|---|
State | New |
Headers | show |
Series | intl: Add test case for bug 16621 | expand |
LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> On 04/09/23 10:33, Florian Weimer via Libc-alpha wrote: > --- > intl/Makefile | 6 +++++- > intl/tst-gettext-c-utf8.c | 37 +++++++++++++++++++++++++++++++++++++ > 2 files changed, 42 insertions(+), 1 deletion(-) > > diff --git a/intl/Makefile b/intl/Makefile > index d7223256eb..a6dd138dad 100644 > --- a/intl/Makefile > +++ b/intl/Makefile > @@ -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 > > diff --git a/intl/tst-gettext-c-utf8.c b/intl/tst-gettext-c-utf8.c > new file mode 100644 > index 0000000000..bdb9b5396c > --- /dev/null > +++ b/intl/tst-gettext-c-utf8.c > @@ -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> > > base-commit: 2897b231a6b71ee17d47d3d63f1112b2641a476c >
diff --git a/intl/Makefile b/intl/Makefile index d7223256eb..a6dd138dad 100644 --- a/intl/Makefile +++ b/intl/Makefile @@ -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 diff --git a/intl/tst-gettext-c-utf8.c b/intl/tst-gettext-c-utf8.c new file mode 100644 index 0000000000..bdb9b5396c --- /dev/null +++ b/intl/tst-gettext-c-utf8.c @@ -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>