#! /bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . ../src # Test that gettext() in multithreaded applications works correctly if # different threads operate in different locales with the same encoding. # Let's use two UTF-8 locales that configure already checked for: # French and German. test -d in-th-2 || mkdir in-th-2 test -d in-th-2/fr || mkdir in-th-2/fr test -d in-th-2/fr/LC_MESSAGES || mkdir in-th-2/fr/LC_MESSAGES test -d in-th-2/de || mkdir in-th-2/de test -d in-th-2/de/LC_MESSAGES || mkdir in-th-2/de/LC_MESSAGES : ${MSGFMT=msgfmt} ${MSGFMT} -o in-th-2/fr/LC_MESSAGES/tstthread.mo "$wabs_srcdir"/intl-thread-2-1.po ${MSGFMT} -o in-th-2/de/LC_MESSAGES/tstthread.mo "$wabs_srcdir"/intl-thread-2-2.po : ${DIFF=diff} cat < in-th-2.ok beauté Schönheit beauté Schönheit EOF : ${LOCALE_FR_UTF8=fr_FR.UTF-8} : ${LOCALE_DE_UTF8=de_DE.UTF-8} if test $LOCALE_FR_UTF8 != none && test $LOCALE_DE_UTF8 != none; then prepare_locale_ in-th-2/fr in-th-2/$LOCALE_FR_UTF8 prepare_locale_ in-th-2/de in-th-2/$LOCALE_DE_UTF8 ../intl-thread-2-prg $LOCALE_FR_UTF8 $LOCALE_DE_UTF8 > in-th-2.out case $? in 0) ${DIFF} in-th-2.ok in-th-2.out || Exit 1 ;; 77) echo "Skipping test: POSIX per-thread locales not supported" Exit 77 ;; *) Exit 1 ;; esac else if test -f /usr/bin/localedef; then echo "Skipping test: no french and german locales are installed" else echo "Skipping test: no french and german locales are supported" fi Exit 77 fi Exit 0