summaryrefslogtreecommitdiff
path: root/testsuite/md5sum.tests (plain)
blob: cca26dc64221b7e41123db9118ebccf629db25ae
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