All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denton Liu <liu.denton@gmail.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH 08/12] t5520: use test_cmp_rev where possible
Date: Fri, 18 Oct 2019 11:52:27 -0700	[thread overview]
Message-ID: <20191018185227.GA74877@generichostname> (raw)
In-Reply-To: <CAPig+cRF0taNhmZVu0z+P+Oe3em11Jz33GY8eBZRTGkx3z=TOw@mail.gmail.com>

Hi Eric,

Thanks for the reviews. I have no idea how you always get to my patches
so quickly but I appreciate the prompt reviews whenever I send a
test-related patchset in.

I've fixed up the other concerns you had and I'll send a v2 later but I
wanted to address this one.

On Thu, Oct 17, 2019 at 07:41:44PM -0400, Eric Sunshine wrote:
> On Thu, Oct 17, 2019 at 7:17 PM Denton Liu <liu.denton@gmail.com> wrote:
> > In case an invocation of `git rev-list` fails within the subshell, the
> > failure will be masked. Remove the subshell and use test_cmp_rev() so
> > that failures can be discovered.
> >
> > Signed-off-by: Denton Liu <liu.denton@gmail.com>
> > ---
> > diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
> > @@ -597,10 +597,10 @@ test_expect_success 'pull --rebase dies early with dirty working directory' '
> >         test_must_fail git pull &&
> > -       test "$COPY" = "$(git rev-parse --verify me/copy)" &&
> > +       test_cmp_rev "$COPY" me/copy &&
> 
> This transformation doesn't look correct. COPY already holds the
> result of a git-rev-parse invocation:
> 
>     COPY="$(git rev-parse --verify me/copy)" &&
> 
> so passing it to test_cmp_rev() -- which applies its own git-rev-parse
> invocation -- doesn't make sense.

I'll annotate the entire test case with my comments:

	# so we'll be testing that pull --rebase dies early
	test_expect_success 'pull --rebase dies early with dirty working directory' '
		git checkout to-rebase &&
		git update-ref refs/remotes/me/copy copy^ &&
		COPY="$(git rev-parse --verify me/copy)" &&
		git rebase --onto $COPY copy &&

		# according to git log --graph, we have this currently:
		#
		# $ git log --pretty=oneline --graph to-rebase copy me/copy
		# * 9366795adb50ef6eb482b610b37cb1fb6edbd3d0 (HEAD -> to-rebase) to-rebase
		# * b3dcf50eea47c4ad85faabb0fb74eded71cc829f file3
		# * faf459539411b4557cf735232a3746be073177a9 new file
		# | * f340b1b8932f7b1e016c06867cbdc3f637eeea2d (copy) conflict
		# |/  
		# * 5e86d50a28977ebee5ea378f81591ea558149272 (me/second, me/copy, second) modified
		# * d25cf184567afad1dc1e018b2b7d793bc1bd2dc1 original

		test_config branch.to-rebase.remote me &&
		test_config branch.to-rebase.merge refs/heads/copy &&
		test_config branch.to-rebase.rebase true &&

		# we make the tree dirty here
		echo dirty >>file &&
		git add file &&

		# and over here, the pull should fail
		test_must_fail git pull &&

		# but since we're testing that it dies early, we want to
		# make sure that the remote ref doesn't change, which is
		# why it should still be equal
		test_cmp_rev "$COPY" me/copy &&

		git checkout HEAD -- file &&

		# but over here, the pull succeeds...
		git pull &&

		# so as a result, the remote ref should now be updated
		test_cmp_rev ! "$COPY" me/copy
	'

So after grokking the test case, it seems like the the transformation is
indeed correct. Maybe we can replace the last line with

	test_cmp_rev copy me/copy

but I think I'll leave it unless you have any strong opinions.

Thanks,

Denton

  reply	other threads:[~2019-10-18 18:52 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-17 23:16 [PATCH 00/12] t5520: various test cleanup Denton Liu
2019-10-17 23:16 ` [PATCH 01/12] t5520: improve test style Denton Liu
2019-10-17 23:16 ` [PATCH 02/12] t5520: use sq for test case names Denton Liu
2019-10-17 23:17 ` [PATCH 03/12] t5520: let sed open its own input Denton Liu
2019-10-17 23:17 ` [PATCH 04/12] t5520: replace test -f with test_path_is_file Denton Liu
2019-10-17 23:26   ` Eric Sunshine
2019-10-17 23:35   ` [PATCH 4.5/12] t5520: replace test -f with test-lib functions Denton Liu
2019-10-18  0:11     ` Eric Sunshine
2019-10-17 23:17 ` [PATCH 05/12] t5520: remove spaces after redirect operator Denton Liu
2019-10-17 23:17 ` [PATCH 06/12] t5520: use test_line_count where possible Denton Liu
2019-10-17 23:17 ` [PATCH 07/12] t5520: replace test -{n,z} with test-lib functions Denton Liu
2019-10-17 23:31   ` Eric Sunshine
2019-10-17 23:17 ` [PATCH 08/12] t5520: use test_cmp_rev where possible Denton Liu
2019-10-17 23:41   ` Eric Sunshine
2019-10-18 18:52     ` Denton Liu [this message]
2019-10-23 13:53       ` Eric Sunshine
2019-10-17 23:17 ` [PATCH 09/12] t5520: test single-line files by git with test_cmp Denton Liu
2019-10-17 23:49   ` Eric Sunshine
2019-10-17 23:17 ` [PATCH 10/12] t5520: don't put git in upstream of pipe Denton Liu
2019-10-17 23:17 ` [PATCH 11/12] t5520: replace subshell cat comparison with test_cmp Denton Liu
2019-10-17 23:17 ` [PATCH 12/12] t5520: replace `! git` with `test_must_fail git` Denton Liu
2019-10-18 22:10 ` [PATCH v2 00/15] t5520: various test cleanup Denton Liu
2019-10-18 22:04   ` [PATCH v2 01/15] t7408: replace `test_must_fail test_path_is_file` Denton Liu
2019-10-19 11:58     ` Johannes Sixt
2019-10-18 22:04   ` [PATCH v2 09/15] t5520: replace test -{n,z} with test-lib functions Denton Liu
2019-10-18 22:04   ` [PATCH v2 11/15] t5520: test single-line files by git with test_cmp Denton Liu
2019-10-18 22:10   ` [PATCH v2 02/15] t: teach test_cmp_rev to accept ! for not-equals Denton Liu
2019-10-18 22:45     ` SZEDER Gábor
2019-10-18 22:10   ` [PATCH v2 03/15] t5520: improve test style Denton Liu
2019-10-18 22:10   ` [PATCH v2 04/15] t5520: use sq for test case names Denton Liu
2019-10-18 22:10   ` [PATCH v2 05/15] t5520: let sed open its own input Denton Liu
2019-10-18 22:10   ` [PATCH v2 06/15] t5520: replace test -f with test-lib functions Denton Liu
2019-10-18 22:10   ` [PATCH v2 07/15] t5520: remove spaces after redirect operator Denton Liu
2019-10-18 22:10   ` [PATCH v2 08/15] t5520: use test_line_count where possible Denton Liu
2019-10-18 22:10   ` [PATCH v2 10/15] t5520: use test_cmp_rev " Denton Liu
2019-10-18 22:10   ` [PATCH v2 12/15] t5520: don't put git in upstream of pipe Denton Liu
2019-10-18 22:10   ` [PATCH v2 13/15] t5520: replace subshell cat comparison with test_cmp Denton Liu
2019-10-18 22:10   ` [PATCH v2 14/15] t5520: remove redundant lines in test cases Denton Liu
2019-10-18 22:10   ` [PATCH v2 15/15] t5520: replace `! git` with `test_must_fail git` Denton Liu
2019-10-18 22:14   ` [PATCH v2 00/15] t5520: various test cleanup Denton Liu
2019-10-22 10:19   ` [PATCH v3 00/14] " Denton Liu
2019-10-22 10:19     ` [PATCH v3 01/14] t: teach test_cmp_rev to accept ! for not-equals Denton Liu
2019-10-22 10:19     ` [PATCH v3 02/14] t5520: improve test style Denton Liu
2019-10-22 10:19     ` [PATCH v3 03/14] t5520: use sq for test case names Denton Liu
2019-10-22 10:20     ` [PATCH v3 04/14] t5520: let sed open its own input Denton Liu
2019-10-22 10:20     ` [PATCH v3 05/14] t5520: replace test -f with test-lib functions Denton Liu
2019-10-22 10:20     ` [PATCH v3 06/14] t5520: remove spaces after redirect operator Denton Liu
2019-10-22 10:20     ` [PATCH v3 07/14] t5520: use test_line_count where possible Denton Liu
2019-10-22 10:20     ` [PATCH v3 08/14] t5520: replace test -{n,z} with test-lib functions Denton Liu
2019-10-22 10:20     ` [PATCH v3 09/14] t5520: use test_cmp_rev where possible Denton Liu
2019-10-22 10:20     ` [PATCH v3 10/14] t5520: test single-line files by git with test_cmp Denton Liu
2019-10-22 10:20     ` [PATCH v3 11/14] t5520: don't put git in upstream of pipe Denton Liu
2019-10-22 10:20     ` [PATCH v3 12/14] t5520: replace subshell cat comparison with test_cmp Denton Liu
2019-10-22 10:20     ` [PATCH v3 13/14] t5520: remove redundant lines in test cases Denton Liu
2019-10-22 10:20     ` [PATCH v3 14/14] t5520: replace `! git` with `test_must_fail git` Denton Liu
2019-10-24 23:21     ` [PATCH v3 00/14] t5520: various test cleanup Denton Liu
2019-10-25  3:44       ` Junio C Hamano
2019-11-04 19:17         ` Denton Liu
2019-11-06  2:37           ` Junio C Hamano
2019-11-07 18:51     ` [PATCH v4 " Denton Liu
2019-11-07 18:51       ` [PATCH v4 01/14] t: teach test_cmp_rev to accept ! for not-equals Denton Liu
2019-11-08  3:24         ` Junio C Hamano
2019-11-08  8:23           ` Denton Liu
2019-11-08 12:49             ` Junio C Hamano
2019-11-08 21:19               ` Denton Liu
2019-11-10  6:58                 ` Junio C Hamano
2019-11-07 18:51       ` [PATCH v4 02/14] t5520: improve test style Denton Liu
2019-11-07 18:51       ` [PATCH v4 03/14] t5520: use sq for test case names Denton Liu
2019-11-07 18:51       ` [PATCH v4 04/14] t5520: let sed open its own input Denton Liu
2019-11-07 18:51       ` [PATCH v4 05/14] t5520: replace test -f with test-lib functions Denton Liu
2019-11-07 18:51       ` [PATCH v4 06/14] t5520: remove spaces after redirect operator Denton Liu
2019-11-07 18:51       ` [PATCH v4 07/14] t5520: use test_line_count where possible Denton Liu
2019-11-07 18:51       ` [PATCH v4 08/14] t5520: replace test -{n,z} with test-lib functions Denton Liu
2019-11-07 18:51       ` [PATCH v4 09/14] t5520: use test_cmp_rev where possible Denton Liu
2019-11-07 18:51       ` [PATCH v4 10/14] t5520: test single-line files by git with test_cmp Denton Liu
2019-11-07 18:51       ` [PATCH v4 11/14] t5520: don't put git in upstream of pipe Denton Liu
2019-11-07 18:51       ` [PATCH v4 12/14] t5520: replace subshell cat comparison with test_cmp Denton Liu
2019-11-07 18:51       ` [PATCH v4 13/14] t5520: remove redundant lines in test cases Denton Liu
2019-11-07 18:51       ` [PATCH v4 14/14] t5520: replace `! git` with `test_must_fail git` Denton Liu
2019-11-12  0:13       ` [PATCH v5 00/14] t5520: various test cleanup Denton Liu
2019-11-12  0:13         ` [PATCH v5 01/14] t: teach test_cmp_rev to accept ! for not-equals Denton Liu
2019-11-12  6:52           ` Junio C Hamano
2019-11-12 19:38             ` [PATCH] fixup! " Denton Liu
2019-11-12  0:13         ` [PATCH v5 02/14] t5520: improve test style Denton Liu
2019-11-12  0:13         ` [PATCH v5 03/14] t5520: use sq for test case names Denton Liu
2019-11-12  0:13         ` [PATCH v5 04/14] t5520: let sed open its own input Denton Liu
2019-11-12  0:13         ` [PATCH v5 05/14] t5520: replace test -f with test-lib functions Denton Liu
2019-11-12  0:13         ` [PATCH v5 06/14] t5520: remove spaces after redirect operator Denton Liu
2019-11-12  0:13         ` [PATCH v5 07/14] t5520: use test_line_count where possible Denton Liu
2019-11-12  0:13         ` [PATCH v5 08/14] t5520: replace test -{n,z} with test-lib functions Denton Liu
2019-11-12  0:14         ` [PATCH v5 09/14] t5520: use test_cmp_rev where possible Denton Liu
2019-11-12  0:14         ` [PATCH v5 10/14] t5520: test single-line files by git with test_cmp Denton Liu
2019-11-12  5:17           ` Junio C Hamano
2019-11-12 23:06             ` Denton Liu
2019-11-12  0:14         ` [PATCH v5 11/14] t5520: don't put git in upstream of pipe Denton Liu
2019-11-12  0:14         ` [PATCH v5 12/14] t5520: replace subshell cat comparison with test_cmp Denton Liu
2019-11-12  0:14         ` [PATCH v5 13/14] t5520: remove redundant lines in test cases Denton Liu
2019-11-12  0:14         ` [PATCH v5 14/14] t5520: replace `! git` with `test_must_fail git` Denton Liu
2019-11-12 23:07         ` [PATCH v6 00/14] t5520: various test cleanup Denton Liu
2019-11-12 23:07           ` [PATCH v6 01/14] t: teach test_cmp_rev to accept ! for not-equals Denton Liu
2019-11-13  1:57             ` Junio C Hamano
2019-11-14  0:52               ` Denton Liu
2019-11-12 23:07           ` [PATCH v6 02/14] t5520: improve test style Denton Liu
2019-11-12 23:07           ` [PATCH v6 03/14] t5520: use sq for test case names Denton Liu
2019-11-12 23:07           ` [PATCH v6 04/14] t5520: let sed open its own input Denton Liu
2019-11-12 23:07           ` [PATCH v6 05/14] t5520: replace test -f with test-lib functions Denton Liu
2019-11-12 23:07           ` [PATCH v6 06/14] t5520: remove spaces after redirect operator Denton Liu
2019-11-12 23:08           ` [PATCH v6 07/14] t5520: use test_line_count where possible Denton Liu
2019-11-12 23:08           ` [PATCH v6 08/14] t5520: replace test -{n,z} with test-lib functions Denton Liu
2019-11-12 23:08           ` [PATCH v6 09/14] t5520: use test_cmp_rev where possible Denton Liu
2019-11-12 23:08           ` [PATCH v6 10/14] t5520: test single-line files by git with test_cmp Denton Liu
2019-11-12 23:08           ` [PATCH v6 11/14] t5520: don't put git in upstream of pipe Denton Liu
2019-11-12 23:08           ` [PATCH v6 12/14] t5520: replace $(cat ...) comparison with test_cmp Denton Liu
2019-11-12 23:08           ` [PATCH v6 13/14] t5520: remove redundant lines in test cases Denton Liu
2019-11-12 23:08           ` [PATCH v6 14/14] t5520: replace `! git` with `test_must_fail git` Denton Liu
2019-11-13  1:59           ` [PATCH v6 00/14] t5520: various test cleanup Junio C Hamano

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=20191018185227.GA74877@generichostname \
    --to=liu.denton@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=sunshine@sunshineco.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.