Denys Vlasenko | e8ee862 | 2010-10-16 21:26:47 +0200 | [diff] [blame] | 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 | |
| 14 | if ! test "$1"; then |
| 15 | set -- md5sum efe30c482e0b687e0cca0612f42ca29b |
| 16 | fi |
| 17 | |
| 18 | sum="$1" |
| 19 | expected="$2" |
| 20 | |
Denys Vlasenko | 26777aa | 2010-11-22 23:49:10 +0100 | [diff] [blame] | 21 | test -f "$bindir/.config" && . "$bindir/.config" |
| 22 | |
| 23 | test x"$CONFIG_FEATURE_FANCY_HEAD" != x"y" \ |
| 24 | && { echo "SKIPPED: $sum"; exit 0; } |
| 25 | |
Denys Vlasenko | b0056ea | 2016-07-11 19:51:08 +0200 | [diff] [blame] | 26 | FAILCOUNT=0 |
| 27 | |
Denys Vlasenko | 273abcb | 2010-10-16 22:43:34 +0200 | [diff] [blame] | 28 | text="The quick brown fox jumps over the lazy dog" |
| 29 | text=`yes "$text" | head -c 9999` |
Denys Vlasenko | e8ee862 | 2010-10-16 21:26:47 +0200 | [diff] [blame] | 30 | |
| 31 | result=`( |
Denys Vlasenko | e8ee862 | 2010-10-16 21:26:47 +0200 | [diff] [blame] | 32 | n=0 |
| 33 | while test $n -le 999; do |
Denys Vlasenko | 273abcb | 2010-10-16 22:43:34 +0200 | [diff] [blame] | 34 | echo "$text" | head -c $n | "$sum" |
Michael Tokarev | afa63b2 | 2013-11-10 22:01:38 +0100 | [diff] [blame] | 35 | n=$(($n+1)) |
Denys Vlasenko | e8ee862 | 2010-10-16 21:26:47 +0200 | [diff] [blame] | 36 | done | "$sum" |
Denys Vlasenko | e8ee862 | 2010-10-16 21:26:47 +0200 | [diff] [blame] | 37 | )` |
Denys Vlasenko | b0056ea | 2016-07-11 19:51:08 +0200 | [diff] [blame] | 38 | if test x"$result" != x"$expected -"; then |
| 39 | echo "FAIL: $sum (r:$result exp:$expected)" |
| 40 | : $((FAILCOUNT++)) |
| 41 | else |
Michael Tokarev | afa63b2 | 2013-11-10 22:01:38 +0100 | [diff] [blame] | 42 | echo "PASS: $sum" |
Denys Vlasenko | e8ee862 | 2010-10-16 21:26:47 +0200 | [diff] [blame] | 43 | fi |
| 44 | |
Denys Vlasenko | b0056ea | 2016-07-11 19:51:08 +0200 | [diff] [blame] | 45 | # GNU compat: -c EMPTY must fail (exitcode 1)! |
| 46 | >EMPTY |
| 47 | if "$sum" -c EMPTY 2>/dev/null; then |
| 48 | echo "FAIL: $sum -c EMPTY" |
| 49 | : $((FAILCOUNT++)) |
| 50 | else |
| 51 | echo "PASS: $sum -c EMPTY" |
| 52 | fi |
| 53 | rm EMPTY |
| 54 | |
| 55 | exit $FAILCOUNT |