Bruno Haible d1d131a036 tests: Prefer 'cat <<\EOF' to 'cat <<EOF' whenever possible.
Rationale: Not interpreting $ and \ in the here documents is a better default
than interpreting them.

* gettext-tools/tests/*: Write 'cat <<\EOF' instead of 'cat <<EOF', when no
shell dollar-substitution and backslash-interpretation is needed.
2024-08-16 10:36:58 +02:00

35 lines
795 B
Bash
Executable File

#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src
# Test a failing comparison with Java .properties syntax.
cat <<\EOF > mc-test3.in1
one=first
two=second
three=third
four=fourth
EOF
cat <<\EOF > mc-test3.in2
!thre=
!one=
!two=
EOF
: ${MSGCMP=msgcmp}
LC_MESSAGES=C LC_ALL= \
${MSGCMP} --properties-input mc-test3.in1 mc-test3.in2 2>&1 | grep -v '^==' | sed -e 's|[^ ]*\\msgcmp\.exe|msgcmp|' -e 's|^msgcmp\.exe|msgcmp|' -e 's|^/cygdrive/[^ ]*/msgcmp|msgcmp|' | LC_ALL=C tr -d '\r' > mc-test3.out
cat <<\EOF > mc-test3.ok
mc-test3.in2:1: this message is used but not defined...
mc-test3.in1:3: ...but this definition is similar
mc-test3.in1:4: warning: this message is not used
msgcmp: found 1 fatal error
EOF
: ${DIFF=diff}
${DIFF} mc-test3.ok mc-test3.out
result=$?
exit $result