Branch :
#!/bin/sh
## kc3
## Copyright from 2022 to 2026 kmx.io <contact@kmx.io>
##
## Permission is hereby granted to use this software granted the above
## copyright notice and this permission paragraph are included in all
## copies and substantial portions of this software.
##
## THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
## PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
## AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
## THIS SOFTWARE.
. "$(dirname "$0")/test.subr"
TEST_RUNNER="$1"
TARGET="$2"
TEST_RUNNER_NAME="${TEST_RUNNER##*/}"
TEST_PROG="$TEST_RUNNER_NAME"
case "$TEST_PROG" in
*_asan) TEST_PROG="${TEST_PROG%_asan}" ;;
*_cov) TEST_PROG="${TEST_PROG%_cov}" ;;
*_debug) TEST_PROG="${TEST_PROG%_debug}" ;;
esac
RESULT=test_ok
timeout 30 ${TEST_RUNNER} --bool-ptr --load ${TARGET}.kc3 --quit > ${TARGET}.out 2>&1
echo $? > ${TARGET}.ret
EXPECTED_OUT=${TARGET}.out.expected
if [ "x$TEST_PROG" != "x$TEST_RUNNER_NAME" ]; then
EXPECTED_OUT=${TARGET}.out.variant.expected
sed -e "s/^${TEST_PROG}:/${TEST_RUNNER_NAME}:/" \
${TARGET}.out.expected > ${EXPECTED_OUT}
fi
if ! diff -abu ${EXPECTED_OUT} ${TARGET}.out \
> ${TARGET}.diff
then
RESULT=test_ko
fi
if ! diff -abu ${TARGET}.ret.expected ${TARGET}.ret \
>> ${TARGET}.diff
then
RESULT=test_ko
fi
if [ "x$EXPECTED_OUT" != "x${TARGET}.out.expected" ]; then
rm ${EXPECTED_OUT}
fi
if [ "x$RESULT" = "xtest_ok" ]; then
rm ${TARGET}.diff
test_ok ${TARGET}
else
test_ko ${TARGET}
fi