Re: [PATCH 1/3] t7900: fix flaky test due to leaking background job
- From
Jeff King <peff@peff.net>
- Date
- Aug 19, 2024, 08:49 UTC
- Message-ID
- <20240819084943.GB2955268@coredump.intra.peff.net>
- In-Reply-To
- <4805bb6f6c2c96a2c40d1d8359b63b8c7045e0b6.1724053639.git.ps@pks.im>
On Mon, Aug 19, 2024 at 09:47:59AM +0200, Patrick Steinhardt wrote:
Show 19 quoted lines
> diff --git a/t/t7900-maintenance.sh b/t/t7900-maintenance.sh > index 06ab43cfb5..074eadcd1c 100755 > --- a/t/t7900-maintenance.sh > +++ b/t/t7900-maintenance.sh > @@ -967,8 +967,13 @@ test_expect_success '--detach causes maintenance to run in background' ' > git config set maintenance.loose-objects.auto 1 && > git config set maintenance.incremental-repack.enabled true && > > - git maintenance run --detach >out 2>&1 && > - test_must_be_empty out > + # The extra file descriptor gets inherited to the child > + # process, and by reading stdout we thus essentially wait for > + # that descriptor to get closed, which indicates that the child > + # is done, too. > + output=$(git maintenance run --detach 2>&1 9>&1) && > + printf "%s" "$output" >output && > + test_must_be_empty output > ) > '
This looks correct, but should we be doing it for all of the "git maintenance" runs in that script? They're all going to kick off detached gc jobs, I think.
-Peff