#!/bin/sh
# Test searchsolve

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

LANGUAGE=
LC_ALL=
LC_MESSAGES=
LANG=
export LANGUAGE LC_ALL LC_MESSAGES LANG

# Push the expected data to a file...
tmpfiles="searchsolve-test.ok"
cat <<EOF > searchsolve-test.ok
rawr : (0,0) (3,0)
rawr : (3,1) (0,1)
rawr : (0,3) (3,6)
rawr : (4,6) (1,3)
bah : (4,2) (4,0)
bah : (5,0) (5,2)
hah : (5,2) (3,4)
hah : (3,4) (5,2)
EOF

tmpfiles="$tmpfiles searchsolve-test.search"
cat <<EOF > searchsolve-test.search
7 7
rawrhbz
rwaraaz
asfabhz
rreaafz
zawhfdz
zzwadfz
zzzrrdz
EOF

tmpfiles="$tmpfiles searchsolve-test.words"
cat <<EOF > searchsolve-test.words
3
rawr
bah
hah
EOF

tmpfiles="$tmpfiles searchsolve-test.out"
: ${SEARCHSOLVE=searchsolve}
${SEARCHSOLVE} searchsolve-test.search searchsolve-test.words | tr -d '\r' > searchsolve-test.out

: ${DIFF=diff}
${DIFF} searchsolve-test.ok searchsolve-test.out

result=$?

# Failure generally generates lame information
# To account for this, copy the files to a log
# Directory
if (test ! -d log) then
    mkdir log
fi
if (test ! -d log/searchsolve-1) then
    mkdir log/searchsolve-1
fi

cp searchsolve-test.search log/searchsolve-1/searchsolve-1.search
cp searchsolve-test.words log/searchsolve-1/searchsolve-1.words
cp searchsolve-test.ok log/searchsolve-1/searchsolve-1.ok
cp searchsolve-test.out log/searchsolve-1/searchsolve-1.out

rm -fr $tmpfiles


exit $result
