3 # Test recognition of GFC internal format strings.
6 trap 'rm -fr $tmpfiles' 1 2 3 15
8 tmpfiles="$tmpfiles f-gf-1.data"
9 cat <<\EOF > f-gf-1.data
12 # Valid: void argument
14 # Valid: one locus argument
16 # Valid: one character argument
18 # Valid: one string argument
20 # Valid: one integer argument
22 # Valid: one integer argument
24 # Valid: one integer argument
26 # Valid: one argument with size specifier
28 # Valid: one argument with size specifier
30 # Valid: one argument with size specifier
32 # Invalid: one argument with invalid size specifier
34 # Invalid: one argument with invalid size specifier
36 # Invalid: one argument with invalid size specifier
38 # Invalid: unterminated
40 # Invalid: unknown format specifier
44 # Valid: three arguments
46 # Valid: a numbered argument
50 # Invalid: unterminated number
52 # Valid: three arguments, two with same number
54 # Invalid: argument with conflicting types
56 # Valid: multiple uses of void argument
58 # Invalid: argument with conflicting types
60 # Valid: mixing of numbered and unnumbered arguments
62 # Invalid: missing non-final argument
64 # Valid: non-final argument is void
68 # Valid: multiple uses of same argument
69 "abc%2$udef%1$sghi%2$u"
72 : ${XGETTEXT=xgettext}
74 while read comment; do
77 tmpfiles="$tmpfiles f-gf-1-$n.in f-gf-1-$n.po"
78 cat <<EOF > f-gf-1-$n.in
81 ${XGETTEXT} -L GCC-source -o f-gf-1-$n.po f-gf-1-$n.in || exit 1
82 test -f f-gf-1-$n.po || exit 1
84 if echo "$comment" | grep 'Valid:' > /dev/null; then
85 if grep gfc-internal-format f-gf-1-$n.po > /dev/null; then
91 if grep gfc-internal-format f-gf-1-$n.po > /dev/null; then
97 if test -n "$fail"; then
98 echo "Format string recognition error:" 1>&2
101 cat f-gf-1-$n.po 1>&2
104 rm -f f-gf-1-$n.in f-gf-1-$n.po