dash reports a negative $LINENO when using shunit2's macros - this isn't
shunit2's fault, so allow for it in the test cases

--- shunit2-2.1.7/shunit2_macros_test.sh
+++ shunit2-2.1.7/shunit2_macros_test.sh
@@ -27,13 +27,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_ASSERT_EQUALS_} 'x' 'y' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_EQUALS_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_ASSERT_EQUALS_} '"some msg"' 'x' 'y' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_EQUALS_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -44,13 +44,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_ASSERT_NOT_EQUALS_} 'x' 'x' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_NOT_EQUALS_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_ASSERT_NOT_EQUALS_} '"some msg"' 'x' 'x' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_NOT_EQUALS_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -61,13 +61,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_ASSERT_SAME_} 'x' 'y' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_SAME_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_ASSERT_SAME_} '"some msg"' 'x' 'y' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_SAME_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -78,13 +78,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_ASSERT_NOT_SAME_} 'x' 'x' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_NOT_SAME_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_ASSERT_NOT_SAME_} '"some msg"' 'x' 'x' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_NOT_SAME_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -95,13 +95,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_ASSERT_NULL_} 'x' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_NULL_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_ASSERT_NULL_} '"some msg"' 'x' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_NULL_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -113,13 +113,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_ASSERT_NOT_NULL_} '' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_NOT_NULL_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_ASSERT_NOT_NULL_} '"some msg"' '""' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_NOT_NULL_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stdoutF}" "${stderrF}" >&2
@@ -130,13 +130,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_ASSERT_TRUE_} "${SHUNIT_FALSE}" >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_TRUE_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_ASSERT_TRUE_} '"some msg"' "${SHUNIT_FALSE}" >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_TRUE_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -147,13 +147,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_ASSERT_FALSE_} "${SHUNIT_TRUE}" >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_FALSE_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_ASSERT_FALSE_} '"some msg"' "${SHUNIT_TRUE}" >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_ASSERT_FALSE_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -164,13 +164,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_FAIL_} >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_FAIL_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_FAIL_} '"some msg"' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_FAIL_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -182,13 +182,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_FAIL_NOT_EQUALS_} 'x' 'y' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_FAIL_NOT_EQUALS_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_FAIL_NOT_EQUALS_} '"some msg"' 'x' 'y' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_FAIL_NOT_EQUALS_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -199,13 +199,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_FAIL_SAME_} 'x' 'x' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_FAIL_SAME_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_FAIL_SAME_} '"some msg"' 'x' 'x' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_FAIL_SAME_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
@@ -216,13 +216,13 @@
   [ -z "${LINENO:-}" ] && startSkipping
 
   ( ${_FAIL_NOT_SAME_} 'x' 'y' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_FAIL_NOT_SAME_ failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2
 
   ( ${_FAIL_NOT_SAME_} '"some msg"' 'x' 'y' >"${stdoutF}" 2>"${stderrF}" )
-  grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null
+  grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null
   rtrn=$?
   assertTrue '_FAIL_NOT_SAME_ w/ msg failure' ${rtrn}
   [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2