xref: /netbsd-src/external/gpl2/gettext/dist/gettext-tools/tests/gettext-3 (revision 946379e7b37692fc43f68eb0d1c10daa0a7f3b6c)
1#! /bin/sh
2
3# Test that on glibc systems, gettext() works right even with intermediate
4# setlocale() calls.
5
6tmpfiles=""
7trap 'rm -fr $tmpfiles' 1 2 3 15
8
9# This test works only on glibc systems.
10grep '@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.
16LC_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}
24LC_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
33tmpfiles="$tmpfiles de_DE fr_FR"
34test -d de_DE || mkdir de_DE
35test -d de_DE/LC_MESSAGES || mkdir de_DE/LC_MESSAGES
36test -d fr_FR || mkdir fr_FR
37test -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
43tmpfiles="$tmpfiles gt-3.ok"
44cat <<EOF > gt-3.ok
45String1 - Lang1: 1st string
46String2 - Lang1: 2nd string
47String1 - Lang2: 1st string
48String2 - Lang2: 2nd string
49String1 - First string for testing.
50String2 - Another string for testing.
51EOF
52
53tmpfiles="$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
59rm -fr $tmpfiles
60
61exit 0
62