#! /bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . ../src # Test that on glibc systems, gettext() in multithreaded applications works # correctly if different threads operate in different locales with the same # encoding. # This test works only on glibc and MacOS X systems. : ${host_os=unknown} : ${GLIBC2=no} { case "$host_os" in *-gnu*) test "$GLIBC2" = yes ;; darwin*) true ;; *) false ;; esac } || { echo "Skipping test: not a glibc or Mac OS X system" Exit 77 } # This test works only on systems that have a de_DE and fr_FR locale installed. missing_locale=`../gettext-6-prg 1` if test -n "$missing_locale"; then if test -f /usr/bin/localedef; then echo "Skipping test: locale ${missing_locale} not installed" else echo "Skipping test: locale ${missing_locale} not supported" fi Exit 77 fi test -d gt-6 || mkdir gt-6 test -d gt-6/de_DE || mkdir gt-6/de_DE test -d gt-6/de_DE/LC_MESSAGES || mkdir gt-6/de_DE/LC_MESSAGES test -d gt-6/fr_FR || mkdir gt-6/fr_FR test -d gt-6/fr_FR/LC_MESSAGES || mkdir gt-6/fr_FR/LC_MESSAGES : ${MSGFMT=msgfmt} ${MSGFMT} -o gt-6/de_DE/LC_MESSAGES/tstthread.mo "$abs_srcdir"/gettext-6-1.po ${MSGFMT} -o gt-6/fr_FR/LC_MESSAGES/tstthread.mo "$abs_srcdir"/gettext-6-2.po cat < gt-6.ok Schönheit beauté Schönheit beauté EOF ../gettext-6-prg > gt-6.out case $? in 0) ;; 77) echo "Skipping test: not a glibc >= 2.3 or MacOS X >= 10.5 system" Exit 77 ;; esac : ${DIFF=diff} ${DIFF} gt-6.ok gt-6.out || Exit 1 Exit 0