1#!/bin/sh 2# Used by {ms5,shaN}sum 3 4# We pipe texts 0...999 bytes long, {md5,shaN}sum them, 5# then {md5,shaN}sum the resulting list. 6# Then we compare the result with expected result. 7# 8# Here are the expected results: 9# efe30c482e0b687e0cca0612f42ca29b 10# d41337e834377140ae7f98460d71d908598ef04f 11# 8e1d3ed57ebc130f0f72508446559eeae06451ae6d61b1e8ce46370cfb8963c3 12# fe413e0f177324d1353893ca0772ceba83fd41512ba63895a0eebb703ef9feac2fb4e92b2cb430b3bda41b46b0cb4ea8307190a5cc795157cfb680a9cd635d0f 13 14if ! test "$1"; then 15 set -- md5sum efe30c482e0b687e0cca0612f42ca29b 16fi 17 18sum="$1" 19expected="$2" 20 21test -f "$bindir/.config" && . "$bindir/.config" 22 23test x"$CONFIG_FEATURE_FANCY_HEAD" != x"y" \ 24&& { echo "SKIPPED: $sum"; exit 0; } 25 26FAILCOUNT=0 27 28text="The quick brown fox jumps over the lazy dog" 29text=`yes "$text" | head -c 9999` 30 31result=`( 32n=0 33while test $n -le 999; do 34 echo "$text" | head -c $n | "$sum" 35 n=$(($n+1)) 36done | "$sum" 37)` 38if test x"$result" != x"$expected -"; then 39 echo "FAIL: $sum (r:$result exp:$expected)" 40 : $((FAILCOUNT++)) 41else 42 echo "PASS: $sum" 43fi 44 45# GNU compat: -c EMPTY must fail (exitcode 1)! 46>EMPTY 47if "$sum" -c EMPTY 2>/dev/null; then 48 echo "FAIL: $sum -c EMPTY" 49 : $((FAILCOUNT++)) 50else 51 echo "PASS: $sum -c EMPTY" 52fi 53rm EMPTY 54 55exit $FAILCOUNT 56