[PATCH 0/6] easy bulk commit creation in tests
- From
Jeff King <peff@peff.net>
- Date
- Jun 28, 2019, 09:37 UTC
- Message-ID
- <20190628093751.GA3569@sigill.intra.peff.net>
- In-Reply-To
- <20190628064103.GA19777@sigill.intra.peff.net>
On Fri, Jun 28, 2019 at 02:41:03AM -0400, Jeff King wrote:
Show 19 quoted lines
> I think this would exercise it, at the cost of making the test more
> expensive:
>
> diff --git a/t/t5310-pack-bitmaps.sh b/t/t5310-pack-bitmaps.sh
> index 82d7f7f6a5..8ed6982dcb 100755
> --- a/t/t5310-pack-bitmaps.sh
> +++ b/t/t5310-pack-bitmaps.sh
> @@ -21,7 +21,7 @@ has_any () {
> }
>
> test_expect_success 'setup repo with moderate-sized history' '
> - for i in $(test_seq 1 10)
> + for i in $(test_seq 1 100)
> do
> test_commit $i
> done &&
>
> It would be nice if we had a "test_commits_bulk" that used fast-import
> to create larger numbers of commits.So here's a patch to do that. Writing the bulk commit function was a fun exercise, and I found a couple other places to apply it, too, shaving off ~7.5 seconds from my test runs. Not ground-breaking, but I think it's nice to have a solution where we don't have to be afraid to generate a bunch of commits.
I'm sure there are other spots that could be converted, too (either ones that are slow loops now, or ones that use fast-import themselves but could be made more readable by using the helper), but I stopped digging after finding the low-hanging fruit here.
[1/6]: test-lib: introduce test_commit_bulk [2/6]: t5310: increase the number of bitmapped commits [3/6]: t3311: use test_commit_bulk [4/6]: t5702: use test_commit_bulk [5/6]: t5703: use test_commit_bulk [6/6]: t6200: use test_commit_bulk
t/t3311-notes-merge-fanout.sh | 10 +-- t/t5310-pack-bitmaps.sh | 15 +--- t/t5702-protocol-v2.sh | 10 +-- t/t5703-upload-pack-ref-in-want.sh | 4 +- t/t6200-fmt-merge-msg.sh | 7 +- t/test-lib-functions.sh | 131 +++++++++++++++++++++++++++++ 6 files changed, 144 insertions(+), 33 deletions(-)
-Peff