git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Aryan Gupta via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, "Patrick Steinhardt" <ps@pks.im>,
	"Michal Suchánek" <msuchanek@suse.de>,
	"Jean-Noël AVILA" <jn.avila@free.fr>,
	"Kristoffer Haugsbakk" <code@khaugsbakk.name>,
	"Eric Sunshine" <sunshine@sunshineco.com>,
	"Aryan Gupta" <garyan447@gmail.com>
Subject: Re: [PATCH v2] tests: modernize the test script t0010-racy-git.sh
Date: Thu, 29 Feb 2024 15:14:41 -0800	[thread overview]
Message-ID: <xmqqle72c17i.fsf@gitster.g> (raw)
In-Reply-To: <pull.1675.v2.git.1709243831190.gitgitgadget@gmail.com> (Aryan Gupta via GitGitGadget's message of "Thu, 29 Feb 2024 21:57:11 +0000")

"Aryan Gupta via GitGitGadget" <gitgitgadget@gmail.com> writes:

> From: Aryan Gupta <garyan447@gmail.com>
>
> Modernize the formatting of the test script to align with current
> standards and improve its overall readability.

OK.

> diff --git a/t/t0010-racy-git.sh b/t/t0010-racy-git.sh
> index 837c8b7228b..2ceac06c9c2 100755
> --- a/t/t0010-racy-git.sh
> +++ b/t/t0010-racy-git.sh
> @@ -1,6 +1,6 @@
>  #!/bin/sh
>  
> -test_description='racy GIT'
> +test_description='racy git'

This does not look like updating formatting to the current standard,
or improving readability, though.

> -	test_expect_success \
> -	"Racy GIT trial #$trial part A" \
> -	'test "" != "$files"'
> +	test_expect_success "Racy git trial #$trial part A" '
> +		test "" != "$files"
> +	'
> ...
> -	test_expect_success \
> -	"Racy GIT trial #$trial part B" \
> -	'test "" != "$files"'
> -
> +	test_expect_success "Racy git trial #$trial part B" '
> +		test "" != "$files"
> +	'

These are not wrong per-se, but if we are updating, I wonder if we
want to get rid of statements outside the test_expect_success block,
not just the formatting of individual test_expect_success tests.

Looking at an iteration of the loop, the executable statements from
here ...

                rm -f .git/index
                echo frotz >infocom
                git update-index --add infocom
                echo xyzzy >infocom

                files=$(git diff-files -p)

... to here is what we would make part of one test, namely ...

                test_expect_success \
                "Racy GIT trial #$trial part A" \
                'test "" != "$files"'

... this one.  Then

                sleep 1

is a cricial delay to have before the next test, which we may want
to have outside to make it clear what is going on to readers.  But
the following parts ...

                echo xyzzy >cornerstone
                git update-index --add cornerstone

                files=$(git diff-files -p)

... up to here, we would make part of the next test ...

                test_expect_success \
                "Racy GIT trial #$trial part B" \
                'test "" != "$files"'

... in the modern style.

So, we may want to do it more like this, perhaps?

	test_expect_success "Racy GIT trial #$trial part A" '
		rm -f .git/index &&
		echo frotz >infocom &&
		git update-index --add infocom &&
		echo xyzzy >infocom &&

		files=$(git diff-files -p) &&
                test "" != "$files"
	'

	sleep 1

	test_expect_success "Racy GIT trial #$trial part B" '
		echo xyzzy >cornerstone &&
		git update-index --add cornerstone &&

		files=$(git diff-files -p) &&
		test "" != "$files"
	'

An added benefit of the more modern style to place as much as
possible to &&-chain in test_expect_success block is that we would
catch breakage in "git update-index" and other things used to set-up
the test as well.  With the original loop, breakages in things
outside the test_expect_success blocks will go unchecked.


  parent reply	other threads:[~2024-02-29 23:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-29 12:23 [PATCH] tests: modernize the test script t0010-racy-git.sh Aryan Gupta via GitGitGadget
2024-02-29 18:11 ` Eric Sunshine
2024-02-29 21:57 ` [PATCH v2] " Aryan Gupta via GitGitGadget
2024-02-29 22:19   ` Eric Sunshine
2024-02-29 23:14   ` Junio C Hamano [this message]
2024-02-29 23:22     ` Eric Sunshine
2024-02-29 23:36       ` Junio C Hamano
2024-02-29 23:52         ` Eric Sunshine
2024-03-01  0:06           ` Eric Sunshine
2024-03-01  2:03             ` Junio C Hamano
2024-03-05 22:09   ` [PATCH v3] " Aryan Gupta via GitGitGadget
2024-03-05 23:02     ` Junio C Hamano
2024-03-06  9:14     ` [PATCH v4] " Aryan Gupta via GitGitGadget
2024-03-07 13:28       ` Christian Couder
2024-03-07 14:23         ` Aryan Gupta
2024-03-07 18:17           ` Junio C Hamano
2024-03-07 18:30             ` Junio C Hamano
2024-03-07 18:33               ` Aryan Gupta

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=xmqqle72c17i.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=code@khaugsbakk.name \
    --cc=garyan447@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=jn.avila@free.fr \
    --cc=msuchanek@suse.de \
    --cc=ps@pks.im \
    --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 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).