#!/bin/bash REFERENCE=aoba06v3.pl TMP_OUTPUT=$(mktemp) function die() { rm -f "$TMP_OUTPUT" echo "$1" exit 1 } if [ $# != 1 ]; then die "$0 " fi TEST=$1 perl -c -w "$TEST" || die "Syntax error" perl "$REFERENCE" > "$TMP_OUTPUT" perl -w "$TEST" | diff -q "$TMP_OUTPUT" - \ || die "Output mismatched for current date" for i in invalid xxxx-xx-xx 2020 2020-02 \ 2021-13-01 2021-00-01 2021-01-32 2021-01-00 2020-02-30 2021-02-29; do perl "$REFERENCE" "$i" >& "$TMP_OUTPUT" perl -w "$TEST" "$i" |& diff -q "$TMP_OUTPUT" - \ || die "Error message mismatched for $i" done rm "$TMP_OUTPUT" exit 0