busybox/testsuite/md5sum.tests
<<
>>
Prefs
   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