#!/bin/sh
# Used by {ms5,shaN}sum

# We pipe texts 0...999 bytes long, {md5,shaN}sum them,
# then {md5,shaN}sum the resulting list.
# Then we compare the result with expected result.
#
# Here are the expected results:
# efe30c482e0b687e0cca0612f42ca29b
# d41337e834377140ae7f98460d71d908598ef04f
# 8e1d3ed57ebc130f0f72508446559eeae06451ae6d61b1e8ce46370cfb8963c3
# fe413e0f177324d1353893ca0772ceba83fd41512ba63895a0eebb703ef9feac2fb4e92b2cb430b3bda41b46b0cb4ea8307190a5cc795157cfb680a9cd635d0f

if ! test "$1"; then
	set -- md5sum efe30c482e0b687e0cca0612f42ca29b
fi

sum="$1"
expected="$2"

test -f "$bindir/.config" && . "$bindir/.config"

test x"$CONFIG_FEATURE_FANCY_HEAD" != x"y" \
&& { echo "SKIPPED: $sum"; exit 0; }

FAILCOUNT=0

text="The quick brown fox jumps over the lazy dog"
text=`yes "$text" | head -c 9999`

result=`(
n=0
while test $n -le 999; do
	echo "$text" | head -c $n | "$sum"
	n=$(($n+1))
done | "$sum"
)`
if test x"$result" != x"$expected  -"; then
	echo "FAIL: $sum (r:$result exp:$expected)"
	: $((FAILCOUNT++))
else
	echo "PASS: $sum"
fi

# GNU compat: -c EMPTY must fail (exitcode 1)!
>EMPTY
if "$sum" -c EMPTY 2>/dev/null; then
	echo "FAIL: $sum -c EMPTY"
	: $((FAILCOUNT++))
else
	echo "PASS: $sum -c EMPTY"
fi
rm EMPTY

exit $FAILCOUNT
