This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
gettext(), like all other locale sensitive functions, should use
_NL_CURRENT_LOCALE, i.e. the thread's locale if it has been set through
uselocale(), otherwise the global locale set through setlocale().
Here is a patch to add new tests that verify this.
The tests fail. Please add them to libc only when you are ready to take the
fix, from my next mail.
Bruno
2005-03-27 Bruno Haible <bruno@clisp.org>
* intl/tst-gettext4.c: New file.
* intl/tst-gettext4.sh: New file.
* intl/tst-gettext4-de.po: New file.
* intl/tst-gettext4-fr.po: New file.
* intl/tst-gettext5.c: New file.
* intl/tst-gettext5.sh: New file.
* (distribute): Add tst-gettext4.sh, tst-gettext4-de.po,
tst-gettext4-fr.po, tst-gettext5.sh.
(multithread-test-srcs): New variable.
(test-srcs): Add its contents.
(tests): Depend on tst-gettext4.out, tst-gettext5.out.
(tst-gettext4.out, tst-gettext5.out): New rules.
(CFLAGS-tst-gettext4.c, CFLAGS-tst-gettext5.c): New variables.
Add rule for linking the multithread-test-srcs with the appropriate
thread-library.
--- glibc-20050322/intl/Makefile.bak2 Sun Mar 27 23:27:02 2005
+++ glibc-20050322/intl/Makefile Mon Mar 28 04:14:44 2005
@@ -30,9 +30,17 @@
tst-translit.sh translit.po \
tst-gettext2.sh tstlang1.po tstlang2.po \
tst-codeset.sh tstcodeset.po \
- tst-gettext3.sh
+ tst-gettext3.sh \
+ tst-gettext4.sh tst-gettext4-de.po tst-gettext4-fr.po \
+ tst-gettext5.sh
+include ../Makeconfig
+
+multithread-test-srcs := tst-gettext4 tst-gettext5
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
before-compile = $(objpfx)msgs.h
@@ -42,8 +50,6 @@
generated = msgs.h mtrace-tst-gettext tst-gettext.mtrace
generated-dirs := domaindir localedir
-include ../Makeconfig
-
ifneq (no,$(BISON))
plural.c: plural.y
$(BISON) $(BISONFLAGS) $@ $^
@@ -60,6 +66,9 @@
ifneq ($(strip $(MSGFMT)),:)
tests: $(objpfx)tst-translit.out $(objpfx)tst-gettext2.out \
$(objpfx)tst-codeset.out $(objpfx)tst-gettext3.out
+ifeq ($(have-thread-library),yes)
+tests: $(objpfx)tst-gettext4.out $(objpfx)tst-gettext5.out
+endif
ifneq (no,$(PERL))
tests: $(objpfx)mtrace-tst-gettext
endif
@@ -77,6 +86,10 @@
$(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
$(objpfx)tst-gettext3.out: tst-gettext3.sh $(objpfx)tst-gettext3
$(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
+$(objpfx)tst-gettext4.out: tst-gettext4.sh $(objpfx)tst-gettext4
+ $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
+$(objpfx)tst-gettext5.out: tst-gettext5.sh $(objpfx)tst-gettext5
+ $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
endif
endif
@@ -89,11 +102,26 @@
CFLAGS-tst-gettext2.c = -DOBJPFX=\"$(objpfx)\"
CFLAGS-tst-codeset.c = -DOBJPFX=\"$(objpfx)\"
CFLAGS-tst-gettext3.c = -DOBJPFX=\"$(objpfx)\"
+CFLAGS-tst-gettext4.c = -DOBJPFX=\"$(objpfx)\"
+CFLAGS-tst-gettext5.c = -DOBJPFX=\"$(objpfx)\"
+
+ifeq ($(have-thread-library),yes)
+ifeq (yes,$(build-shared))
+$(addprefix $(objpfx),$(multithread-test-srcs)): $(shared-thread-library)
+else
+$(addprefix $(objpfx),$(multithread-test-srcs)): $(static-thread-library)
+endif
+ifeq (yes,$(build-bounded))
+$(multithread-test-srcs:%=$(objpfx)%-bp): $(bounded-thread-library)
+endif
+endif
$(objpfx)tst-translit.out: $(objpfx)tst-gettext.out
$(objpfx)tst-gettext2.out: $(objpfx)tst-gettext.out
$(objpfx)tst-codeset.out: $(objpfx)tst-gettext.out
$(objpfx)tst-gettext3.out: $(objpfx)tst-gettext.out
+$(objpfx)tst-gettext4.out: $(objpfx)tst-gettext.out
+$(objpfx)tst-gettext5.out: $(objpfx)tst-gettext.out
CPPFLAGS += -D'LOCALEDIR="$(msgcatdir)"' \
-D'LOCALE_ALIAS_PATH="$(msgcatdir)"'
Attachment:
tst-gettext45.tar.gz
Description: application/tgz
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |