Imported Upstream version 0.18.1.1
[platform/upstream/gettext.git] / gettext-tools / tests / gettext-3
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 : ${GLIBC2=no}
11 test "$GLIBC2" = yes || {
12   echo "Skipping test: not a glibc system"
13   exit 77
14 }
15
16 # This test works only on systems that have a de_DE and fr_FR locale installed.
17 LC_ALL=de_DE ./testlocale || {
18   if test -f /usr/bin/localedef; then
19     echo "Skipping test: locale de_DE not installed"
20   else
21     echo "Skipping test: locale de_DE not supported"
22   fi
23   exit 77
24 }
25 LC_ALL=fr_FR ./testlocale || {
26   if test -f /usr/bin/localedef; then
27     echo "Skipping test: locale fr_FR not installed"
28   else
29     echo "Skipping test: locale fr_FR not supported"
30   fi
31   exit 77
32 }
33
34 tmpfiles="$tmpfiles de_DE fr_FR"
35 test -d de_DE || mkdir de_DE
36 test -d de_DE/LC_MESSAGES || mkdir de_DE/LC_MESSAGES
37 test -d fr_FR || mkdir fr_FR
38 test -d fr_FR/LC_MESSAGES || mkdir fr_FR/LC_MESSAGES
39
40 : ${MSGFMT=msgfmt}
41 ${MSGFMT} -o de_DE/LC_MESSAGES/tstlang.mo ${top_srcdir}/tests/gettext-3-1.po
42 ${MSGFMT} -o fr_FR/LC_MESSAGES/tstlang.mo ${top_srcdir}/tests/gettext-3-2.po
43
44 tmpfiles="$tmpfiles gt-3.ok"
45 cat <<EOF > gt-3.ok
46 String1 - Lang1: 1st string
47 String2 - Lang1: 2nd string
48 String1 - Lang2: 1st string
49 String2 - Lang2: 2nd string
50 String1 - First string for testing.
51 String2 - Another string for testing.
52 EOF
53
54 tmpfiles="$tmpfiles gt-3.out"
55 ./gettext-3-prg > gt-3.out || exit 1
56
57 : ${DIFF=diff}
58 ${DIFF} gt-3.ok gt-3.out || exit 1
59
60 rm -fr $tmpfiles
61
62 exit 0