busybox/testsuite/md5sum.tests
Denys Vlasenko 65deb9f7dd sha3sum: add -aBITS tests
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-07-30 19:11:26 +02:00

56 lines
1.3 KiB
Bash
Executable file

#!/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
# c01420bb6613d4bd00396a82033e59e81486cbb045ae0dd2b4c3332e581b3ce09fb1946d6e283acec685778ff205d485
# 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