#!/bin/bash
set -e

if [ -z "${AUTOPKGTEST_TMP}" ] || [ ! -d "${AUTOPKGTEST_TMP}" ]; then
    AUTOPKGTEST_TMP=$(mktemp --directory)
fi

# create configuration file for simulation
zcat /usr/share/doc/simrisc/simrisc.gz > ${AUTOPKGTEST_TMP}/simrisc.config

# run simulation
/usr/bin/simrisc --one-analysis \
	--base=${AUTOPKGTEST_TMP} \
	--config=${AUTOPKGTEST_TMP}/simrisc.config \
	--data=${AUTOPKGTEST_TMP}/simrisc.out

# trim the first line of the output, which is a timestamp
tail -n +2 < ${AUTOPKGTEST_TMP}/simrisc.out > ${AUTOPKGTEST_TMP}/simrisc.results

# compare simulation output with expected output
if diff -q ${AUTOPKGTEST_TMP}/simrisc.results debian/tests/simrisc.expected 2>/dev/null ; then
    echo "Simulation output matches expected output"
    echo "PASS"
    exit 0
fi

echo "FAIL simrisc simulation output does not match debian/tests/simrisc.expected"
exit 1
