1 #! /bin/sh 2 3 # Test that on glibc systems, gettext() works right even with intermediate 4 # setlocale() calls. 5 6 tmpfiles="" 7 trap 'rm -fr $tmpfiles' 1 2 3 15 8 9 # This test works only on glibc systems. 10 grep '@GLIBC2@.*yes' ../config.status >/dev/null || { 11 echo "Skipping test: not a glibc system" 12 exit 77 13 } 14 15 # This test works only on systems that have a de_DE and fr_FR locale installed. 16 LC_ALL=de_DE ./testlocale || { 17 if test -f /usr/bin/localedef; then 18 echo "Skipping test: locale de_DE not installed" 19 else 20 echo "Skipping test: locale de_DE not supported" 21 fi 22 exit 77 23 } 24 LC_ALL=fr_FR ./testlocale || { 25 if test -f /usr/bin/localedef; then 26 echo "Skipping test: locale fr_FR not installed" 27 else 28 echo "Skipping test: locale fr_FR not supported" 29 fi 30 exit 77 31 } 32 33 tmpfiles="$tmpfiles de_DE fr_FR" 34 test -d de_DE || mkdir de_DE 35 test -d de_DE/LC_MESSAGES || mkdir de_DE/LC_MESSAGES 36 test -d fr_FR || mkdir fr_FR 37 test -d fr_FR/LC_MESSAGES || mkdir fr_FR/LC_MESSAGES 38 39 : ${MSGFMT=msgfmt} 40 ${MSGFMT} -o de_DE/LC_MESSAGES/tstlang.mo ${top_srcdir}/tests/gettext-3-1.po 41 ${MSGFMT} -o fr_FR/LC_MESSAGES/tstlang.mo ${top_srcdir}/tests/gettext-3-2.po 42 43 tmpfiles="$tmpfiles gt-3.ok" 44 cat <<EOF > gt-3.ok 45 String1 - Lang1: 1st string 46 String2 - Lang1: 2nd string 47 String1 - Lang2: 1st string 48 String2 - Lang2: 2nd string 49 String1 - First string for testing. 50 String2 - Another string for testing. 51 EOF 52 53 tmpfiles="$tmpfiles gt-3.out" 54 ./gettext-3-prg > gt-3.out || exit 1 55 56 : ${DIFF=diff} 57 ${DIFF} gt-3.ok gt-3.out || exit 1 58 59 rm -fr $tmpfiles 60 61 exit 0 62