On Fri, Jun 28, 2019 at 02:41:03AM -0400, Jeff King wrote:
> 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