From: Jonathan Nieder <jrnieder@gmail.com>
To: Elijah Newren <newren@gmail.com>
Cc: git@vger.kernel.org, gitster@pobox.com, avarab@gmail.com
Subject: Re: [PATCHv6 07/16] t3600 (rm): add lots of missing &&
Date: Sun, 3 Oct 2010 15:56:15 -0500 [thread overview]
Message-ID: <20101003205615.GB22743@burratino> (raw)
In-Reply-To: <1286136014-7728-8-git-send-email-newren@gmail.com>
Elijah Newren wrote:
>> On Sun, Oct 3, 2010 at 8:28 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
>>> Why not
>>> - echo content > foo
>>> - git add foo
>>> - git commit -m foo
>>> + echo content > foo &&
>>> + git add foo &&
>>> + git commit --allow-empty -m foo &&
>>> ?
>>
>> What advantage does using these three commands have over 'git checkout
>> HEAD -- foo'? Perhaps I'm missing something, but I don't see it.
>> It's three commands to one, and the tests don't depend on foo starting
>> with contents of 'content'; just that foo matches HEAD to start.
>
> Is there an advantage of the three-command version I'm just missing
What if the content of foo in HEAD were "other content"? Then the test
would not be testing what it is supposed to.
Maybe you would prefer something like this on top? My only concern is
to make sure the test is robust (even if people add new tests before
these without paying much attention) and easy to read.
I suppose I am nitpicking excessively because I do not like to see
regressions, even in out-of-the-way code like this.
---
diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh
index 9660ae0..ae469df 100755
--- a/t/t3600-rm.sh
+++ b/t/t3600-rm.sh
@@ -7,6 +7,15 @@ test_description='Test of the various options to git rm.'
. ./test-lib.sh
+prepare_foo () {
+ echo "$1" >foo &&
+ git add foo &&
+ git commit --allow-empty -m "set HEAD to $1" &&
+ echo "$2" >foo &&
+ git add foo &&
+ echo "$3" >foo
+}
+
# Setup some files to be removed, some with funny characters
test_expect_success \
'Initialize test directory' \
@@ -44,27 +53,18 @@ test_expect_success \
test_expect_success \
'Test that git rm --cached foo succeeds if the index matches the file' \
- 'echo content > foo &&
- git add foo &&
- git commit -m foo &&
- echo "other content" > foo &&
+ 'prepare_foo content content "other content" &&
git rm --cached foo'
test_expect_success \
'Test that git rm --cached foo fails if the index matches neither the file nor HEAD' '
- git checkout HEAD -- foo &&
- echo "other content" > foo &&
- git add foo &&
- echo "yet another content" > foo &&
+ prepare_foo content "other content" "yet another content" &&
test_must_fail git rm --cached foo
'
test_expect_success \
'Test that git rm --cached -f foo works in case where --cached only did not' \
- 'git checkout HEAD -- foo &&
- echo "other content" > foo &&
- git add foo &&
- echo "yet another content" > foo &&
+ 'prepare_foo content "other content" "yet another content" &&
git rm --cached -f foo'
test_expect_success \
--
next prev parent reply other threads:[~2010-10-03 21:03 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-03 19:59 [PATCHv6 00/16] Add missing &&'s in the testsuite Elijah Newren
2010-10-03 19:59 ` [PATCHv6 01/16] test-lib: make test_expect_code a test command Elijah Newren
2010-10-04 0:54 ` Junio C Hamano
2010-10-04 3:48 ` Ævar Arnfjörð Bjarmason
2010-10-04 3:50 ` Jonathan Nieder
2010-10-04 4:04 ` Ævar Arnfjörð Bjarmason
2010-10-04 4:06 ` Jonathan Nieder
2010-10-04 6:57 ` Ævar Arnfjörð Bjarmason
2010-10-04 9:28 ` Jonathan Nieder
2010-10-04 3:37 ` Ævar Arnfjörð Bjarmason
2010-10-03 20:00 ` [PATCHv6 02/16] t3020 (ls-files-error-unmatch): remove stray '1' from end of file Elijah Newren
2010-10-04 0:56 ` Junio C Hamano
2010-10-03 20:00 ` [PATCHv6 03/16] t4017 (diff-retval): replace manual exit code check with test_expect_code Elijah Newren
2010-10-03 20:00 ` [PATCHv6 04/16] t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing && Elijah Newren
2010-10-03 20:00 ` [PATCHv6 05/16] t4002 (diff-basic): use test_might_fail for commands that might fail Elijah Newren
2010-10-03 20:00 ` [PATCHv6 06/16] t4202 (log): Replace '<git-command> || :' with test_might_fail Elijah Newren
2010-10-03 20:00 ` [PATCHv6 07/16] t3600 (rm): add lots of missing && Elijah Newren
2010-10-03 20:56 ` Jonathan Nieder [this message]
2010-10-03 23:32 ` Junio C Hamano
2010-10-03 20:00 ` [PATCHv6 08/16] t4019 (diff-wserror): " Elijah Newren
2010-10-03 20:00 ` [PATCHv6 09/16] t4026 (color): remove unneeded and unchained command Elijah Newren
2010-10-03 20:00 ` [PATCHv6 10/16] t5602 (clone-remote-exec): add missing && Elijah Newren
2010-10-03 20:00 ` [PATCHv6 11/16] t6016 (rev-list-graph-simplify-history): " Elijah Newren
2010-10-03 20:00 ` [PATCHv6 12/16] t7001 (mv): " Elijah Newren
2010-10-03 20:00 ` [PATCHv6 13/16] t7601 (merge-pull-config): " Elijah Newren
2010-10-03 20:00 ` [PATCHv6 14/16] t7800 (difftool): " Elijah Newren
2010-10-03 20:00 ` [PATCHv6 15/16] Add missing &&'s throughout the testsuite Elijah Newren
2010-10-03 20:59 ` Jonathan Nieder
2010-10-03 21:17 ` Jonathan Nieder
2010-10-31 1:46 ` [PATCH en/cascade-tests] tests: add missing && Jonathan Nieder
2010-10-31 3:31 ` Junio C Hamano
2010-10-31 7:26 ` [PATCH/RFC 00/10] " Jonathan Nieder
2010-10-31 7:30 ` [PATCH 01/10] tests: add missing &&, batch 2 Jonathan Nieder
2010-10-31 7:33 ` [RFC/PATCH 02/10] test-lib: introduce test_line_count to measure files Jonathan Nieder
2010-11-09 22:56 ` Junio C Hamano
2010-11-09 23:09 ` Ævar Arnfjörð Bjarmason
2010-10-31 7:34 ` [PATCH 03/10] t6022 (renaming merge): chain test commands with && Jonathan Nieder
2010-10-31 7:35 ` [PATCH 04/10] t1502 (rev-parse --parseopt): test exit code from "-h" Jonathan Nieder
2010-10-31 7:36 ` [PATCH 05/10] t1400 (update-ref): use test_must_fail Jonathan Nieder
2010-10-31 7:36 ` [PATCH 06/10] t3301 (notes): use test_expect_code for clarity Jonathan Nieder
2010-10-31 7:38 ` [PATCH 07/10] t3404 (rebase -i): unroll test_commit loops Jonathan Nieder
2010-10-31 7:39 ` [PATCH 08/10] t3404 (rebase -i): move comment to description Jonathan Nieder
2010-11-17 23:12 ` Junio C Hamano
2010-10-31 7:40 ` [PATCH 09/10] t3404 (rebase -i): introduce helper to check position of HEAD Jonathan Nieder
2010-11-17 17:55 ` Junio C Hamano
2010-10-31 7:41 ` [PATCH 10/10] t4124 (apply --whitespace): use test_might_fail Jonathan Nieder
2010-11-09 22:25 ` [PATCH en/cascade-tests] tests: add missing && Junio C Hamano
2010-11-05 4:57 ` Elijah Newren
2010-10-03 20:00 ` [PATCHv6 16/16] Introduce portable_unset and use it to ensure proper && chaining Elijah Newren
2010-10-04 3:26 ` Ævar Arnfjörð Bjarmason
2010-10-04 4:44 ` Jonathan Nieder
2010-10-04 7:52 ` Junio C Hamano
2010-10-04 11:38 ` Jonathan Nieder
2010-10-03 21:09 ` [PATCHv6 00/16] Add missing &&'s in the testsuite Jonathan Nieder
2010-10-04 3:11 ` Ævar Arnfjörð Bjarmason
2010-10-04 3:44 ` Jonathan Nieder
2010-10-04 3:50 ` Ævar Arnfjörð Bjarmason
2010-10-04 12:28 ` yj2133011
2010-10-06 5:31 ` [TOY PATCH] test-lib: &&-chaining tester Jonathan Nieder
2010-10-06 8:09 ` Matthieu Moy
2010-10-06 8:25 ` Johannes Sixt
2010-10-06 8:52 ` Sverre Rabbelier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101003205615.GB22743@burratino \
--to=jrnieder@gmail.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=newren@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).