Re: [PATCH] t5410: avoid hangs in CI runs in the win+Meson test jobs
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Jun 5, 2025, 11:10 UTC
- Message-ID
- <aEF7NRgEfMhQmDw9@pks.im>
- In-Reply-To
- <pull.1932.git.1749118606047.gitgitgadget@gmail.com>
On Thu, Jun 05, 2025 at 10:16:45AM +0000, Johannes Schindelin via GitGitGadget wrote:
Show 25 quoted lines
> diff --git a/t/t5410-receive-pack.sh b/t/t5410-receive-pack.sh > index f76a22943ef..09d6bfd2a10 100755 > --- a/t/t5410-receive-pack.sh > +++ b/t/t5410-receive-pack.sh > @@ -41,7 +41,19 @@ test_expect_success 'with core.alternateRefsPrefixes' ' > test_cmp expect actual.haves > ' > > -test_expect_success 'receive-pack missing objects fails connectivity check' ' > +# The `tee.exe` shipped in Git for Windows v2.49.0 is known to hang frequently > +# when spawned from `git.exe` and piping its output to `git.exe`. This seems > +# related to MSYS2 runtime bug fixes regarding the signal handling; Let's just > +# skip the tests that need to exercise this when the faulty MSYS2 runtime is > +# detected; The test cases are exercised enough in other matrix jobs of the CI > +# runs. > +test_lazy_prereq TEE_DOES_NOT_HANG ' > + test_have_prereq !MINGW && > + case "$(uname -a)" in *3.5.7-463ebcdc.x86_64*) false;; esac > +' > + > +test_expect_success TEE_DOES_NOT_HANG \ > + 'receive-pack missing objects fails connectivity check' ' > test_when_finished rm -rf repo remote.git setup.git && > > git init repo &&
Quite interesting. I any case, I think this is a sensible fix for now. It's a known bug, we know it's fixed, we just have to wait. And the fact that this prereq will basically auto-disarm itself once we have the new version is nice.
I did wonder whether we can maybe rewrite the test so that we compute our own packfile instead of intercepting the one from git-send-pack(1). But I'm not sure whether that's really worth it.
Thanks!
Patrick