Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#! /bin/sh

# Test that without --force-po option, a PO file without translations is
# not created.

tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15

# no unique msg in input files.
# with --force-po create an empty PO file; cf. msgcomm-14

tmpfiles="$tmpfiles mcomm-test15.in1 mcomm-test15.in2 mcomm-test15.in3"
cat <<EOF > mcomm-test15.in1
msgid ""
msgstr ""
"Project-Id-Version: GNU one 1.2.3\n"
"POT-Creation-Date: 2000-12-11 20:49+0100\n"
"PO-Revision-Date: 2000-03-18 15:25+01:00\n"
"Last-Translator: Karl Eichwalder <ke@suse.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"

# occurs 3 times
#: first.c:123
msgid "1"
msgstr "1x"
EOF

cat <<EOF > mcomm-test15.in2
msgid ""
msgstr ""
"Project-Id-Version: GNU one 1.2.3\n"
"POT-Creation-Date: 2000-12-11 20:49+0100\n"
"PO-Revision-Date: 2000-03-18 15:25+01:00\n"
"Last-Translator: Karl Eichwalder <ke@suse.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"

#: hunt.c:759
msgid "1"
msgstr ""
EOF

cat <<EOF > mcomm-test15.in3
msgid ""
msgstr ""
"Project-Id-Version: GNU one 1.2.3\n"
"POT-Creation-Date: 2000-12-11 20:49+0100\n"
"PO-Revision-Date: 2000-03-18 15:25+01:00\n"
"Last-Translator: Karl Eichwalder <ke@suse.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"

#: hunt.c:789
msgid "1"
msgstr ""
EOF

tmpfiles="$tmpfiles mcomm-test15.out"
rm -f mcomm-test15.out

: ${MSGCOMM=msgcomm}

# --unique is shorthand for --less-than=2; do we've to test both
# switches?  Are 'for' loops allowed? -ke-
${MSGCOMM} --less-than=2 --no-location -o mcomm-test15.out \
    mcomm-test15.in1 mcomm-test15.in2 mcomm-test15.in3
test $? = 0 || { rm -fr $tmpfiles; exit 1; }

# we've no unique msg; thus no PO should be created.
if test -f mcomm-test15.out; then
  echo "mcomm-test15.out wrongly written."
  result=1
else
  result=0
fi

rm -fr $tmpfiles

exit $result