#!/bin/sh

set -e

dir=`dirname "$0"`

# change directory to $AUTOPKGTEST_TMP
cd "${AUTOPKGTEST_TMP}"

cleanup() {
  ex=$?
  rm -f alice.* bob.*
  exit "${ex}"
}
trap "cleanup" EXIT TERM INT

(
  echo mceliece6960119
  echo mceliece6688128
  echo mceliece8192128
  echo mceliece460896
  echo mceliece348864
) | (
  while read mceliece; do
    # alice - keypair
    "${mceliece}-keypair" 5>alice.publickey 9>alice.secretkey
    # bob - encrypts
    "${mceliece}-enc" >bob.ciphertext 7>bob.sessionkey 4<alice.publickey
    # alice - decrypts
    "${mceliece}-dec" 7>alice.sessionkey <bob.ciphertext 8<alice.secretkey

    if [ x"`sha256sum < alice.sessionkey`" != x"`sha256sum < bob.sessionkey`" ]; then
      echo "${mceliece} ... FAILED" 
      exit 1
    fi
    echo "${mceliece} ... OK"
  done || exit 1
) || exit 1

exit 0
