#!/bin/sh
#
# Test version output of scripts
#
# (c) 2018  Roland Rosenfeld <roland@debian.org>

if [ -z "$AUTOPKGTEST_TMP" ]; then
    AUTOPKGTEST_TMP=$(mktemp -d)
fi

trap "rm -rf $AUTOPKGTEST_TMP" EXIT

VERSION=$(dpkg-parsechangelog -SVersion | sed -e 's/-[^-]*$//')

cd $AUTOPKGTEST_TMP

for a in /usr/lib/rancid/bin/* /usr/bin/rancid-run
do
    case "$a" in
	*/hpuifilter)
	    CMD="$a -v"
	    EXPECT="hpuifilter: rancid version $VERSION"
            GOT=$($CMD 2>&1)
	    ;;
	*/rancid_par)
	    CMD="$a -v 2>&1"
	    EXPECT="rancid_par: rancid version $VERSION"
            GOT=$($CMD 2>&1)
	    ;;
	*/plogin)
	    CMD="$a -V"
	    EXPECT="plogin: rancid $VERSION"
            GOT=$($CMD 2>/dev/null)
	    ;;
	*/rancid-fe)
	    EXPECT=ignore
	    GOT=ignore
	    ;;
	*)
	    CMD="$a -V"
	    EXPECT="rancid $VERSION"
	    GOT=$($CMD)
	    ;;
    esac


    if [ "$GOT" != "$EXPECT" ]
    then
	echo "$CMD: got '$GOT' expected '$EXPECT'" >> errors
    fi
done

if [ -f errors ] && [ -s errors ]
then
    cat errors
    exit 1
else
    exit 0
fi
