#!/bin/sh -e

if [ -z "$AUTOPKGTEST_TMP" ]; then
  AUTOPKGTEST_TMP=$(mktemp -d)  
  trap "rm -rf $AUTOPKGTEST_TMP" 0
fi
cd $AUTOPKGTEST_TMP

t() {
  local name="$1"
  local file="/usr/share/games/purity/$name"
  local rc=''

  if [ ! -e "$file" ]; then
    echo "FAILURE: $file is missing!" >&2
    exit 1
  fi

  perl -e 'print "y" x 5000' \
    | purity -a -l "$file" > output

  if [ "$rc" ]; then
    echo "FAILURE: purity failed for all 'yes' on $name!" >&2
    exit $rc
  fi

  if ! egrep -q "purity .+ 0\.00%" output; then
    cat output
    echo
    echo "FAILURE: unexpected purity output for all 'yes' on $name!" >&2
    exit 1
  fi

  perl -e 'print "n" x 5000' \
    | purity -a -l "$file" > output

  if [ "$rc" ]; then
    echo "FAILURE: purity failed for all 'no' on $name!" >&2
    exit $rc
  fi

  if ! egrep -q "purity .+ 100\.00%" output; then
    cat output
    echo
    echo "FAILURE: unexpected purity output for all 'no' on $name!" >&2
    exit 1
  fi

  echo "OK: $name"
}

for name in 100 1500 400 500 dabney new100 pt100; do
  t $name
done

