#! /bin/sh
-# SPDX-FileCopyrightText: Copyright Eric S. Raymond <esr@thyrsus.com>
-# SPDX-License-Identifier: MIT-0
#
# tapdiffer - Render diff between input and checkfile as a TAP report
#
# OSD-compliant; otherwise the following SPDX tag incorporates the
# MIT No Attribution license by reference.
#
+# SPDX-FileCopyrightText: (C) Eric S. Raymond <esr@thyrsus.com>
+# SPDX-License-Identifier: MIT-0
+#
# A newer version may be available at https://gitlab.com/esr/tapview
# Check your last commit dqte for this file against the commit list
# there to see if it might be a good idea to update.
#
-if [ "$1" = "-b" ]
-then
- diffopts=-ub
- shift
-else
- diffopts=-u
-fi
+diffopts=-u
+while getopts bn opt
+do
+ case $opt in
+ b) diffopts=-ub;;
+ *) echo "tapdiffer: unknown option ${opt}."; exit 1;;
+ esac
+done
+# shellcheck disable=SC2004
+shift $(($OPTIND - 1))
legend=$1
checkfile=$2
then
echo "ok - ${legend}"
else
- echo "not ok - ${checkfile}: ${legend}"
+ echo "not ok - ${legend}"
if [ ! "${QUIET}" = 1 ]
then
echo " --- |"
# This code is intended to be embedded in your project. The author
# grants permission for it to be distributed under the prevailing
# license of your project if you choose, provided that license is
-# OSD-compliant; otherwise the following SPDX tag incorporates a
-# license by reference.
+# OSD-compliant; otherwise the following SPDX tag incorporates the
+# MIT No Attribution license by reference.
#
-# SPDX-FileCopyrightText: Copyright Eric S. Raymond <esr@thyrsus.com>
-# SPDX-License-Identifier: BSD-2-Clause
+# SPDX-FileCopyrightText: (C) Eric S. Raymond <esr@thyrsus.com>
+# SPDX-License-Identifier: MIT-0
#
-# This is version 1.6
# A newer version may be available at https://gitlab.com/esr/tapview
+# Check your last commit date for this file against the commit list
+# there to see if it might be a good idea to update.
#
OK="."
FAIL="F"
TODO_NOT_OK="x"
TODO_OK="u"
+LF='
+'
+
ship_char() {
# shellcheck disable=SC2039
printf '%s' "$1" # https://www.etalabs.net/sh_tricks.html
}
ship_line() {
- report="${report}${1}\n"
+ report="${report}${1}$LF"
}
ship_error() {
then
echo ""
fi
- report="${report}${1}\n"
+ report="${report}${1}$LF"
echo "${report}"
exit 1
}
then
ship_line "Expected $(context_get expect) tests but only ${testcount} ran."
status=1
+ elif [ "$(context_get plan)" != "" ] && [ "$(context_get expect)" -lt "$(context_get count)" ]
+ then
+ ship_line "${testcount} ran but $(context_get expect) expected."
+ status=1
fi
}