t5310: factor out bitmap traversal comparison
commitea047a8eb4f45c1c4e3c9b1af919bf0361ac1b7c
authorJeff King <peff@peff.net>
Fri, 14 Feb 2020 18:22:25 +0000 (14 13:22 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 14 Feb 2020 18:46:22 +0000 (14 10:46 -0800)
treeef5bb3e7dbe17a36273cbcba39e24a327debef25
parent608d9c93658d6ec2d585748ed45218cc1f404640
t5310: factor out bitmap traversal comparison

We check the results of "rev-list --use-bitmap-index" by comparing it to
the same traversal without the bitmap option. However, this is a little
tricky to do because of some output differences (see the included
comment for details). Let's pull this out into a helper function, since
we'll be adding some similar tests.

While we're at it, let's also try to confirm that the bitmap output did
indeed use bitmaps. Since the code internally falls back to the
non-bitmap path in some cases, the tests are at risk of becoming trivial
noops.

This is a bit fragile, as not all outputs will differ (e.g., looking at
only the commits from a fully-bitmapped pack will end up exactly the
same as the normal traversal order, since it also matches the pack
order). So we'll provide an escape hatch by which tests can disable this
check (which should only be used after manually confirming that bitmaps
kicked in).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5310-pack-bitmaps.sh
t/test-lib-functions.sh