The dash shell, at least version 0.5.5.1, doesn't always bail out with a syntax error when a stray "fi" in encountered:
$ dash -c ":; fi"; echo stat = $? stat = 0 See also the relevant bug report: <http://permalink.gmane.org/gmane.comp.shells.dash/717> This behaviour was causing a spurious error in our testsuite. Fix it. * t/self-check-exit.tap: Use a stray parentheses rather than a stray 'fi' to trigger a syntax error. Signed-off-by: Stefano Lattarini <stefano.lattar...@gmail.com> --- t/self-check-exit.tap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/self-check-exit.tap b/t/self-check-exit.tap index 1342f07..f58493f 100755 --- a/t/self-check-exit.tap +++ b/t/self-check-exit.tap @@ -97,7 +97,7 @@ command_ok_ "permission denied" test $? -gt 0 : Syntax errors in the test code. $AM_TEST_RUNNER_SHELL -c "$init; if :; then" "$dummy_test_script" command_ok_ "syntax error 1" test $? -gt 0 -$AM_TEST_RUNNER_SHELL -c "$init; fi" "$dummy_test_script" +$AM_TEST_RUNNER_SHELL -c "$init; true ( true )" "$dummy_test_script" command_ok_ "syntax error 2" test $? -gt 0 : -- 1.7.9.5