summaryrefslogtreecommitdiff
path: root/find/testsuite/test_escape_c.sh
blob: 50351eacdc6abe4ddfd72ef52c9c83497247f964 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#! /bin/sh
testname="$(basename $0)"

parent="$(cd .. && pwd)"
if [[ -f "${parent}/ftsfind" ]]; then
    ftsfind="${parent}/ftsfind"
    oldfind="${parent}/find"
elif [[ -f "${parent}/oldfind" ]]; then
    ftsfind="${parent}/find"
    oldfind="${parent}/oldfind"
else
    echo "Cannot find the executables to test." >&2
    exit 1
fi

goldenfile="${srcdir}/test_escapechars.golden"
expected='hello^.^world'

for executable in "$oldfind" "$ftsfind"
do
    if result="$($executable . -maxdepth 0 \
	    -printf 'hello^\cthere' \
	    -exec printf %s {} \; \
	    -printf '^world\n' )"; then
        if [[ "${result}" != "${expected}" ]]; then
            exec >&2
            echo "$executable produced incorrect output:"
            echo "${result}"
            echo "Expected output was:"
            echo "${expected}"
            exit 1
        fi
    else
        echo "$executable returned $?" >&2
        exit 1
    fi
done