tests: fix a spurious failure with dash
authorStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 23 Apr 2012 17:03:33 +0000 (19:03 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 7 May 2012 20:10:29 +0000 (22:10 +0200)
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.lattarini@gmail.com>
t/self-check-exit.tap

index 1d3c020..0ad5651 100755 (executable)
@@ -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
 
 :