path: root/t/
diff options
authorJeff King <>2020-02-14 18:22:25 (GMT)
committerJunio C Hamano <>2020-02-14 18:46:22 (GMT)
commitea047a8eb4f45c1c4e3c9b1af919bf0361ac1b7c (patch)
treeef5bb3e7dbe17a36273cbcba39e24a327debef25 /t/
parent608d9c93658d6ec2d585748ed45218cc1f404640 (diff)
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 <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 't/')
1 files changed, 3 insertions, 7 deletions
diff --git a/t/ b/t/
index 7ba7d29..b8645ae 100755
--- a/t/
+++ b/t/
@@ -81,13 +81,9 @@ rev_list_tests() {
test_expect_success "enumerate --objects ($state)" '
- git rev-list --objects --use-bitmap-index HEAD >tmp &&
- cut -d" " -f1 <tmp >tmp2 &&
- sort <tmp2 >actual &&
- git rev-list --objects HEAD >tmp &&
- cut -d" " -f1 <tmp >tmp2 &&
- sort <tmp2 >expect &&
- test_cmp expect actual
+ git rev-list --objects --use-bitmap-index HEAD >actual &&
+ git rev-list --objects HEAD >expect &&
+ test_bitmap_traversal expect actual
test_expect_success "bitmap --objects handles non-commit objects ($state)" '