Re: [PATCH 1/3] t7900: fix flaky test due to leaking background job
From: Jeff King <hidden>
Date: 2024-08-19 08:49:45
On Mon, Aug 19, 2024 at 09:47:59AM +0200, Patrick Steinhardt wrote:
quoted hunk ↗ jump to hunk
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