status test: add missing && to <<EOF blocks
authorJonathan Nieder <jrnieder@gmail.com>
Fri, 11 Oct 2013 17:35:46 +0000 (10:35 -0700)
committerJonathan Nieder <jrnieder@gmail.com>
Fri, 11 Oct 2013 17:35:46 +0000 (10:35 -0700)
When a test forgets to include && after each command, it is possible
for an early command to succeed but the test to fail, which can hide
bugs.

Checked using the following patch to the test harness:

--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -425,7 +425,17 @@ test_eval_ () {
eval </dev/null >&3 2>&4 "$*"
}

+check_command_chaining_ () {
+ eval >&3 2>&4 "(exit 189) && $*"
+ eval_chain_ret=$?
+ if test "$eval_chain_ret" != 189
+ then
+ error 'bug in test script: missing "&&" in test commands'
+ fi
+}
+
test_run_ () {
+ check_command_chaining_ "$1"
test_cleanup=:
expecting_failure=$2
setup_malloc_check

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
t/t7512-status-help.sh
index 0688d58884962c4e0bcfb89191602a36131ebf92..9905d43c741a43cc668bed20f646c7c4060577a1 100755 (executable)
@@ -669,7 +669,7 @@ EOF
 test_expect_success 'status showing detached at and from a tag' '
        test_commit atag tagging &&
        git checkout atag &&
-       cat >expected <<\EOF
+       cat >expected <<\EOF &&
 HEAD detached at atag
 nothing to commit (use -u to show untracked files)
 EOF
@@ -677,7 +677,7 @@ EOF
        test_i18ncmp expected actual &&
 
        git reset --hard HEAD^ &&
-       cat >expected <<\EOF
+       cat >expected <<\EOF &&
 HEAD detached from atag
 nothing to commit (use -u to show untracked files)
 EOF
@@ -695,7 +695,7 @@ test_expect_success 'status while reverting commit (conflicts)' '
        test_commit new to-revert.txt &&
        TO_REVERT=$(git rev-parse --short HEAD^) &&
        test_must_fail git revert $TO_REVERT &&
-       cat >expected <<EOF
+       cat >expected <<EOF &&
 On branch master
 You are currently reverting commit $TO_REVERT.
   (fix conflicts and run "git revert --continue")
@@ -716,7 +716,7 @@ EOF
 test_expect_success 'status while reverting commit (conflicts resolved)' '
        echo reverted >to-revert.txt &&
        git add to-revert.txt &&
-       cat >expected <<EOF
+       cat >expected <<EOF &&
 On branch master
 You are currently reverting commit $TO_REVERT.
   (all conflicts fixed: run "git revert --continue")
@@ -735,7 +735,7 @@ EOF
 
 test_expect_success 'status after reverting commit' '
        git revert --continue &&
-       cat >expected <<\EOF
+       cat >expected <<\EOF &&
 On branch master
 nothing to commit (use -u to show untracked files)
 EOF