Re: &&-chaining tester
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Dec 7, 2011, 19:36 UTC
- Message-ID
- <1323286611-4806-1-git-send-email-artagnon@gmail.com>
- In-Reply-To
- <20111207100858.GB13374@elie.hsd1.il.comcast.net>
Hi,
Jonathan Nieder wrote:
Show 10 quoted lines
> 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