git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Derrick Stolee <stolee@gmail.com>
To: Jonathan Nieder <jrnieder@gmail.com>, git@vger.kernel.org
Cc: Jonathan Tan <jonathantanmy@google.com>,
	Jeff King <peff@peff.net>,
	Jeff Hostetler <jeffhost@microsoft.com>
Subject: Re: [PATCH 1/5] fetch test: use more robust test for filtered objects
Date: Thu, 26 Dec 2019 09:29:00 -0500	[thread overview]
Message-ID: <a50a4ed5-5135-597a-fd37-9a907030b59f@gmail.com> (raw)
In-Reply-To: <20191224005907.GD38316@google.com>

On 12/23/2019 7:59 PM, Jonathan Nieder wrote:
>  	# Ensure that object is not inadvertently fetched
> -	test_must_fail git -C client cat-file -e $(git hash-object server/one.t)
> +	commit=$(git -C server rev-parse HEAD) &&
> +	blob=$(git hash-object server/one.t) &&
> +	git -C client rev-list --objects --missing=allow-any "$commit" >oids &&
> +	! grep "$blob" oids
>  '
>  
>  test_expect_success 'filtering by size has no effect if support for it is not advertised' '
> @@ -929,7 +932,10 @@ test_expect_success 'filtering by size has no effect if support for it is not ad
>  	git -C client fetch-pack --filter=blob:limit=0 ../server HEAD 2> err &&
>  
>  	# Ensure that object is fetched
> -	git -C client cat-file -e $(git hash-object server/one.t) &&
> +	commit=$(git -C server rev-parse HEAD) &&
> +	blob=$(git hash-object server/one.t) &&
> +	git -C client rev-list --objects --missing=allow-any "$commit" >oids &&
> +	grep "$blob" oids &&
>  
>  	test_i18ngrep "filtering not recognized by server" err
>  '
> @@ -951,9 +957,11 @@ fetch_filter_blob_limit_zero () {
>  	git -C client fetch --filter=blob:limit=0 origin HEAD:somewhere &&
>  
>  	# Ensure that commit is fetched, but blob is not
> -	test_config -C client extensions.partialclone "arbitrary string" &&
> -	git -C client cat-file -e $(git -C "$SERVER" rev-parse two) &&
> -	test_must_fail git -C client cat-file -e $(git hash-object "$SERVER/two.t")
> +	commit=$(git -C "$SERVER" rev-parse two) &&
> +	blob=$(git hash-object server/two.t) &&
> +	git -C client rev-list --objects --missing=allow-any "$commit" >oids &&
> +	grep "$commit" oids &&
> +	! grep "$blob" oids

At first glance, I saw this and thought the "three is many" rule would imply
the boilerplate in these tests should be de-duplicated with a function.
However, the use of the "commit" and "blob" variables is different in each
test, so I did not find a convenient way to make this simpler.

Thanks,
-Stolee


  reply	other threads:[~2019-12-26 14:29 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-24  0:58 [PATCH 0/5] Enable protocol v2 by default Jonathan Nieder
2019-12-24  0:59 ` [PATCH 1/5] fetch test: use more robust test for filtered objects Jonathan Nieder
2019-12-26 14:29   ` Derrick Stolee [this message]
2019-12-24  1:00 ` [PATCH 2/5] config doc: protocol.version is not experimental Jonathan Nieder
2019-12-24  1:01 ` [PATCH 3/5] test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate Jonathan Nieder
2019-12-26 19:26   ` Junio C Hamano
2019-12-26 19:53     ` [PATCH 0/2] avoid use of "VAR= cmd" with a shell function (Re: [PATCH 3/5] test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate) Jonathan Nieder
2019-12-26 19:55       ` [PATCH 1/2] fetch test: avoid use of "VAR= cmd" with a shell function Jonathan Nieder
2019-12-26 19:57       ` [PATCH 2/2] t/check-non-portable-shell: detect "FOO= shell_func", too Jonathan Nieder
2019-12-26 20:08         ` Junio C Hamano
2019-12-26 20:18         ` Junio C Hamano
2019-12-26 22:37           ` Jonathan Nieder
2019-12-26 23:12           ` [PATCH jn/test-lint-one-shot-export-to-shell-function] fetch test: mark test of "skipping" haves as v0-only Jonathan Nieder
2019-12-26 20:39         ` [PATCH 2/2] t/check-non-portable-shell: detect "FOO= shell_func", too Eric Sunshine
2019-12-24  1:02 ` [PATCH 4/5] protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION Jonathan Nieder
2019-12-24  1:04 ` [PATCH 5/5] fetch: default to protocol version 2 Jonathan Nieder
2019-12-26 14:30 ` [PATCH 0/5] Enable protocol v2 by default Derrick Stolee

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a50a4ed5-5135-597a-fd37-9a907030b59f@gmail.com \
    --to=stolee@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jeffhost@microsoft.com \
    --cc=jonathantanmy@google.com \
    --cc=jrnieder@gmail.com \
    --cc=peff@peff.net \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).