Hi, Jonathan Nieder wrote: > Ramkumar Ramachandra wrote: > >> Missing the chaining '&&' seems to be quite a common >> error: I vaguely remember seeing a patch to detect this sometime ago. >> Jonathan? > > [...] > - fix all cases of broken &&-chaining. For extra bonus points, > send out those patches, respond to reviews, and gently usher > them into Junio's tree Hm, involves a huge amount of janitorial work. Anyway, thanks for pointing me in the right direction- here's a small start. [What I used; for reference] -- t/test-lib.sh | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/t/test-lib.sh b/t/test-lib.sh index bdd9513..3bf75ac 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -472,7 +472,17 @@ test_eval_ () { eval >&3 2>&4 "$*" } +check_command_chaining_ () { + eval >&3 2>&4 "(exit 189) && $1" + eval_chain_ret=$? + if test "$eval_chain_ret" != 189 + then + echo '[CHAIN_BUG] in the test script: missing "&&" in test commands' + fi +} + test_run_ () { + check_command_chaining_ "$1" test_cleanup=: expecting_failure=$2 test_eval_ "$1" -- Thanks. -- Ram Ramkumar Ramachandra (15): t1013 (loose-object-format): fix && chaining t1300 (repo-config): fix && chaining t1412 (reflog-loop): fix && chaining t1007 (hash-object): fix && chaining t1510 (repo-setup): fix && chaining t1511 (rev-parse-caret): fix && chaining t1510 (worktree): fix && chaining t3200 (branch): fix && chaining t3418 (rebase-continue): fix && chaining t3400 (rebase): fix && chaining t3310 (notes-merge-manual-resolve): fix && chaining t3419 (rebase-patch-id): fix && chaining t3030 (merge-recursive): use test_expect_code t1006 (cat-file): use test_cmp t3040 (subprojects-basic): modernize style t/t1006-cat-file.sh | 53 +++--------- t/t1007-hash-object.sh | 16 ++-- t/t1013-loose-object-format.sh | 2 +- t/t1300-repo-config.sh | 2 +- t/t1412-reflog-loop.sh | 2 +- t/t1501-worktree.sh | 6 +- t/t1510-repo-setup.sh | 4 +- t/t1511-rev-parse-caret.sh | 2 +- t/t3030-merge-recursive.sh | 72 ++--------------- t/t3040-subprojects-basic.sh | 144 ++++++++++++++++---------------- t/t3200-branch.sh | 4 +- t/t3310-notes-merge-manual-resolve.sh | 10 +- t/t3400-rebase.sh | 4 +- t/t3418-rebase-continue.sh | 4 +- t/t3419-rebase-patch-id.sh | 2 +- 15 files changed, 119 insertions(+), 208 deletions(-) -- 1.7.7.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html