Re: [PATCH 6/6] t5608: add regression test for >4GB object clone
- From
Jeff King <peff@peff.net>
- Date
- May 1, 2026, 06:38 UTC
- Message-ID
- <20260501063805.GA2038915@coredump.intra.peff.net>
- In-Reply-To
- <e1e8837f-7374-4079-ba87-ab95dd156e33@gmail.com>
On Wed, Apr 29, 2026 at 09:34:21AM -0400, Derrick Stolee wrote:
> As mentioned in the previous patch, constructing this large packfile > takes ~4 minutes in CI pipelines. That's quite a lot to handle for > every CI run.
And for local runs, too. ;) The test suite takes less than 90 seconds to run on my laptop, but t5608 by itself 160 seconds. Even if running it in parallel didn't slow down the rest of the suite (which is not true, because it's obviously hogging a whole processor the whole time), that's still almost doubling the run-time.
I'd also worry about assuming that the trash directory can hold 4+GB (maybe 8GB+ since we clone it?), especially since many of us use ram disks.
That said...
Show 7 quoted lines
> > +test_expect_success SIZE_T_IS_64BIT 'set up repo with >4GB object' ' > > Your prereq here prevents it from running on 32-bit builds, which is > good. However, I wonder if it would be worth also specifying these > tests as expensive. It's less likely that these layers will be touched > often, so it should be enough to run these on major occasions, such as > testing a release candidate.
I think it is already skipped in most cases, because t5608 requires the GIT_TEST_CLONE_2GB environment variable be set. Arguably it should just be using EXPENSIVE, too, as I do not think there is much value in having individual flags for all of the expensive tests. I think that test just predates the modern prereq system entirely.
> I suppose this also is a question for Junio and our process for > validating releases. Do we have a certain cadence where we run the > expensive tests? What has been our threshold for hiding a test case > behind the expensive label?
AFAIK the labeling of expensive things is mostly ad-hoc, and nobody is systematically running them. Likewise for the t/perf tests, which are super expensive but do (very occasionally) turn up interesting regressions.
-Peff