diff options
Diffstat (limited to 'intl')
-rw-r--r-- | intl/Makefile | 3 | ||||
-rw-r--r-- | intl/tst-gettext2.c | 16 | ||||
-rw-r--r-- | intl/tst-gettext2.sh | 45 |
3 files changed, 47 insertions, 17 deletions
diff --git a/intl/Makefile b/intl/Makefile index e2df29cb93..fd24fcfe2a 100644 --- a/intl/Makefile +++ b/intl/Makefile @@ -60,8 +60,7 @@ $(objpfx)tst-gettext.out: tst-gettext.sh $(objpfx)tst-gettext $(objpfx)tst-translit.out: tst-translit.sh $(objpfx)tst-translit $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/ $(objpfx)tst-gettext2.out: tst-gettext2.sh $(objpfx)tst-gettext2 - $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/ \ - $(objpfx)tst-gettext + $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/ endif endif endif diff --git a/intl/tst-gettext2.c b/intl/tst-gettext2.c index 0cc4cad84a..1174e8b4cc 100644 --- a/intl/tst-gettext2.c +++ b/intl/tst-gettext2.c @@ -24,15 +24,17 @@ #include <stdlib.h> #include <stdio.h> -struct data_t { +struct data_t +{ const char *selection; const char *description; }; int data_cnt = 2; struct data_t strings[] = -{{"String1", N_("First string for testing.")}, - {"String2", N_("Another string for testing.")} +{ + { "String1", N_("First string for testing.") }, + { "String2", N_("Another string for testing.") } }; const int lang_cnt = 3; @@ -50,18 +52,20 @@ main (void) unsetenv ("LC_CTYPE"); unsetenv ("LANG"); unsetenv ("OUTPUT_CHARSET"); - + textdomain ("tstlang"); for (i = 0; i < lang_cnt; ++i) { int j; - setlocale (LC_ALL, lang[i]); + if (setlocale (LC_ALL, lang[i]) == NULL) + setlocale (LC_ALL, "C"); bindtextdomain ("tstlang", OBJPFX "domaindir"); for (j = 0; j < data_cnt; ++j) - printf ("%s - %s\n", strings[j].selection, _(strings[j].description)); + printf ("%s - %s\n", strings[j].selection, + gettext (strings[j].description)); } return 0; diff --git a/intl/tst-gettext2.sh b/intl/tst-gettext2.sh index 2c1a2e10ca..bb8ce47921 100644 --- a/intl/tst-gettext2.sh +++ b/intl/tst-gettext2.sh @@ -20,11 +20,10 @@ common_objpfx=$1 objpfx=$2 -malloc_trace=$3 GCONV_PATH=${common_objpfx}iconvdata export GCONV_PATH -LOCPATH=${common_objpfx}localedata +LOCPATH=${objpfx}domaindir export LOCPATH LC_ALL=C export LC_ALL @@ -32,10 +31,32 @@ export LC_ALL # Generate the test data. test -d ${objpfx}domaindir || mkdir ${objpfx}domaindir # Create the locale directories. -test -d ${objpfx}domaindir/lang1 || mkdir ${objpfx}domaindir/lang1 -test -d ${objpfx}domaindir/lang2 || mkdir ${objpfx}domaindir/lang2 -test -d ${objpfx}domaindir/lang1/LC_MESSAGES || mkdir ${objpfx}domaindir/lang1/LC_MESSAGES -test -d ${objpfx}domaindir/lang2/LC_MESSAGES || mkdir ${objpfx}domaindir/lang2/LC_MESSAGES +test -d ${objpfx}domaindir/lang1 || { + mkdir ${objpfx}domaindir/lang1 + for f in ADDRESS COLLATE CTYPE IDENTIFICATION MEASUREMENT MONETARY NAME NUMERIC PAPER TELEPHONE TIME; do + cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_$f \ + ${objpfx}domaindir/lang1 + done +} +test -d ${objpfx}domaindir/lang2 || { + mkdir ${objpfx}domaindir/lang2 + for f in ADDRESS COLLATE CTYPE IDENTIFICATION MEASUREMENT MONETARY NAME NUMERIC PAPER TELEPHONE TIME; do + cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_$f \ + ${objpfx}domaindir/lang2 + done +} +test -d ${objpfx}domaindir/lang1/LC_MESSAGES || { + mkdir ${objpfx}domaindir/lang1/LC_MESSAGES + cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_MESSAGES/SYS_LC_MESSAGES \ + ${objpfx}domaindir/lang1/LC_MESSAGES +} +test -d ${objpfx}domaindir/lang2/LC_MESSAGES || { + mkdir ${objpfx}domaindir/lang2/LC_MESSAGES + cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_MESSAGES/SYS_LC_MESSAGES \ + ${objpfx}domaindir/lang2/LC_MESSAGES +} + +test -f # Populate them. msgfmt -o ${objpfx}domaindir/lang1/LC_MESSAGES/tstlang.mo \ @@ -46,9 +67,15 @@ msgfmt -o ${objpfx}domaindir/lang2/LC_MESSAGES/tstlang.mo \ # Now run the test. -MALLOC_TRACE=$malloc_trace \ ${common_objpfx}elf/ld.so --library-path $common_objpfx \ -${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir +${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && +cmp ${objpfx}tst-gettext2.out - <<EOF +String1 - Lang1: 1st string +String2 - Lang1: 2nd string +String1 - Lang2: 1st string +String2 - Lang2: 2nd string +String1 - First string for testing. +String2 - Another string for testing. +EOF exit $? - |