#!/bin/bash set -e WORKDIR=$(mktemp -d) TESTDIR=$(realpath "$(dirname "$0")") DKIMPY_MILTER=${DKIMPY_MILTER:-"$TESTDIR/dkimpy-milter"} cd "$WORKDIR" printf "Testing %s from directory %s\n" "$DKIMPY_MILTER" "$WORKDIR" dknewkey --ktype ed25519 testkey cat > signing.conf < verify.conf < %s:\n" "$errdata" cat "$errdata" printf -- "-> end %s\n" "$errdata" fi done rm -rf "$WORKDIR" } PYTHONPATH="$(dirname "$TESTDIR")" "$DKIMPY_MILTER" signing.conf 2>signing.stderr & PYTHONPATH="$(dirname "$TESTDIR")" "$DKIMPY_MILTER" verify.conf 2>verify.stderr & trap cleanup EXIT # ugly ugly (how are we supposed to know that the filter is ready?): sleep 2 # uses miltertest from opendkim: for x in ${TESTS:-"$TESTDIR"/*.miltertest}; do if ! [ -e "$x" ]; then if [ -e "$TESTDIR/$x" ]; then x="$TESTDIR/$x" fi fi printf -- "-> running %s...\n" "$x" miltertest -s "$x" done