Re: [PATCHv2.1] t6500: wait for detached auto gc at the end of the test script
- Date: Thu, 13 Apr 2017 20:08:12 +0200
- From: SZEDER Gábor <szeder.dev@xxxxxxxxx>
- Subject: Re: [PATCHv2.1] t6500: wait for detached auto gc at the end of the test script
On Thu, Apr 13, 2017 at 6:44 PM, Jeff King <peff@xxxxxxxx> wrote:
> On Thu, Apr 13, 2017 at 12:31:38PM +0200, SZEDER Gábor wrote:
> I did wonder what will happen if Windows learns to daemonize() the
> auto-gc. I don't think we'll get an immediate test failure, but this
> test will become racy again. But this time we'll actually notice the
> racy failure, because the "ls" will report extra packs if it runs before
> the background gc does. At which point we can revisit this.
Dscho said that it would take significant effort to make daemonize()
work on Windows, so I guess it will take a while before we'll have to
> It would be nice if there were a non-racy way to detect whether we
> daemonized or not, and complain on Windows when we do. Then we'll be
> notified immediately when daemonize() changes by the test failure,
> rather than waiting for a racy failure.
> I guess we could probably grep for the "in the background" message from
> the parent gc. OTOH, maybe it is not even worth it.
That wouldn't work at the moment, because auto gc says that it will go
to the background even on Windows.
As it is, auto gc first prints the "Auto packing the repo..." message,
and calls daemonize() after that. Which message it prints, i.e. "in
background" or not, depends solely on the value of the 'gc.autoDetach'
config variable, which is true by default. The only platform-specific
thing about all this is the #ifdef in daemonize(), but then it's
already too late, the misleading message has already been printed.
See the discussion the patch for the same issue in a different test
script (bb05510e5 (t5510: run auto-gc in the foreground, 2016-05-01)),
including a patch at the end that prevents auto gc on Windows from
lying about going to the background (which I, not being a Windows
user, didn't follow through).
> The racy version
> should fail reasonably promptly, I think, and the comments you've left
> would point any investigator in the right direction.