Re: [PATCH v2 2/2] builtin/receive-pack: add option to skip connectivity check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Justin,

On Tue, 20 May 2025, Justin Tobler wrote:

> diff --git a/t/t5410-receive-pack.sh b/t/t5410-receive-pack.sh
> index 9afea54a26..f76a22943e 100755
> --- a/t/t5410-receive-pack.sh
> +++ b/t/t5410-receive-pack.sh
> @@ -62,4 +62,26 @@ test_expect_success 'receive-pack missing objects fails connectivity check' '
>  	test_must_fail git -C remote.git cat-file -e $(git -C repo rev-parse HEAD)
>  '
>  
> +test_expect_success 'receive-pack missing objects bypasses connectivity check' '
> +	test_when_finished rm -rf repo remote.git setup.git &&
> +
> +	git init repo &&
> +	git -C repo commit --allow-empty -m 1 &&
> +	git clone --bare repo setup.git &&
> +	git -C repo commit --allow-empty -m 2 &&
> +
> +	# Capture git-send-pack(1) output sent to git-receive-pack(1).
> +	git -C repo send-pack ../setup.git --all \
> +		--receive-pack="tee ${SQ}$(pwd)/out${SQ} | git-receive-pack" &&
> +
> +	# Replay captured git-send-pack(1) output on new empty repository.
> +	git init --bare remote.git &&
> +	git receive-pack --skip-connectivity-check remote.git <out >actual 2>err &&
> +
> +	test_grep ! "missing necessary objects" actual &&
> +	test_must_be_empty err &&
> +	git -C remote.git cat-file -e $(git -C repo rev-parse HEAD) &&
> +	test_must_fail git -C remote.git rev-list $(git -C repo rev-parse HEAD)
> +'
> +
>  test_done

This test case seems to hang occasionally in the "win+Meson test" jobs on
GitHub (I tried to find the same failure at
https://gitlab.com/gitlab-org/git/-/pipelines but couldn't find any). See
for example
https://github.com/gitgitgadget/git/actions/runs/15383915635/job/43279134837#step:6:627

Note that this problem afflicts only the "win+Meson test" jobs; The
corresponding "win test" job seems not to hang.

Even in the Git for Windows project, where the `win+VS test` jobs are run,
the t5410 test passes within a dozen seconds or so, see e.g.
https://github.com/git-for-windows/git/actions/runs/15383945895/job/43279689086#step:5:143
(confusingly, the subset of tests run in the matrix jobs differs between
the `win+Meson test` jobs and the `win+VS test` jobs, but if you click
through all of the `win+Meson test` jobs, expand the `test` step,
patiently wait a few seconds for the log to be lazy loaded "enough" for
the search to work, you will notice that t5410 is not mentioned in any of
them, and the only one that times out after 4h37m11s is
https://github.com/git-for-windows/git/actions/runs/15383945895/job/43279753911,
likely while running 5410, too).

Do you have any idea why this particular test case, in conjunction with
Windows and Meson (and only on GitHub) acts up like this?

Ciao,
Johannes






[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux