]> Kevux Git Server - rit/commitdiff
t: prepare for GIT_TEST_WRITE_REV_INDEX
authorTaylor Blau <me@ttaylorr.com>
Mon, 25 Jan 2021 23:37:38 +0000 (18:37 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 26 Jan 2021 02:32:44 +0000 (18:32 -0800)
In the next patch, we'll add support for unconditionally enabling the
'pack.writeReverseIndex' setting with a new GIT_TEST_WRITE_REV_INDEX
environment variable.

This causes a little bit of fallout with tests that, for example,
compare the list of files in the pack directory being unprepared to see
.rev files in its output.

Those locations can be cleaned up to look for specific file extensions,
rather than take everything in the pack directory (for instance) and
then grep out unwanted items.

Once the pack.writeReverseIndex option has been thoroughly
tested, we will default it to 'true', removing GIT_TEST_WRITE_REV_INDEX,
and making it possible to revert this patch.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5319-multi-pack-index.sh
t/t5325-reverse-index.sh
t/t5604-clone-reference.sh
t/t5702-protocol-v2.sh
t/t6500-gc.sh
t/t9300-fast-import.sh

index 297de50..2fc3aad 100755 (executable)
@@ -710,8 +710,9 @@ test_expect_success 'expire respects .keep files' '
                PACKA=$(ls .git/objects/pack/a-pack*\.pack | sed s/\.pack\$//) &&
                touch $PACKA.keep &&
                git multi-pack-index expire &&
-               ls -S .git/objects/pack/a-pack* | grep $PACKA >a-pack-files &&
-               test_line_count = 3 a-pack-files &&
+               test_path_is_file $PACKA.idx &&
+               test_path_is_file $PACKA.keep &&
+               test_path_is_file $PACKA.pack &&
                test-tool read-midx .git/objects | grep idx >midx-list &&
                test_line_count = 2 midx-list
        )
index 8704026..be452bb 100755 (executable)
@@ -3,6 +3,10 @@
 test_description='on-disk reverse index'
 . ./test-lib.sh
 
+# The below tests want control over the 'pack.writeReverseIndex' setting
+# themselves to assert various combinations of it with other options.
+sane_unset GIT_TEST_WRITE_REV_INDEX
+
 packdir=.git/objects/pack
 
 test_expect_success 'setup' '
index 5d68270..e845d62 100755 (executable)
@@ -329,7 +329,7 @@ test_expect_success SYMLINKS 'clone repo with symlinked or unknown files at obje
        for raw in $(ls T*.raw)
        do
                sed -e "s!/../!/Y/!; s![0-9a-f]\{38,\}!Z!" -e "/commit-graph/d" \
-                   -e "/multi-pack-index/d" <$raw >$raw.de-sha-1 &&
+                   -e "/multi-pack-index/d" -e "/rev/d" <$raw >$raw.de-sha-1 &&
                sort $raw.de-sha-1 >$raw.de-sha || return 1
        done &&
 
index 3d994e0..e8f0b4a 100755 (executable)
@@ -851,8 +851,10 @@ test_expect_success 'part of packfile response provided as URI' '
        test -f h2found &&
 
        # Ensure that there are exactly 6 files (3 .pack and 3 .idx).
-       ls http_child/.git/objects/pack/* >filelist &&
-       test_line_count = 6 filelist
+       ls http_child/.git/objects/pack/*.pack >packlist &&
+       ls http_child/.git/objects/pack/*.idx >idxlist &&
+       test_line_count = 3 idxlist &&
+       test_line_count = 3 packlist
 '
 
 test_expect_success 'fetching with valid packfile URI but invalid hash fails' '
@@ -905,8 +907,10 @@ test_expect_success 'packfile-uri with transfer.fsckobjects' '
                clone "$HTTPD_URL/smart/http_parent" http_child &&
 
        # Ensure that there are exactly 4 files (2 .pack and 2 .idx).
-       ls http_child/.git/objects/pack/* >filelist &&
-       test_line_count = 4 filelist
+       ls http_child/.git/objects/pack/*.pack >packlist &&
+       ls http_child/.git/objects/pack/*.idx >idxlist &&
+       test_line_count = 2 idxlist &&
+       test_line_count = 2 packlist
 '
 
 test_expect_success 'packfile-uri with transfer.fsckobjects fails on bad object' '
index 4a3b8f4..f76586f 100755 (executable)
@@ -106,17 +106,17 @@ test_expect_success 'auto gc with too many loose objects does not attempt to cre
        test_commit "$(test_oid obj2)" &&
        # Our first gc will create a pack; our second will create a second pack
        git gc --auto &&
-       ls .git/objects/pack | sort >existing_packs &&
+       ls .git/objects/pack/pack-*.pack | sort >existing_packs &&
        test_commit "$(test_oid obj3)" &&
        test_commit "$(test_oid obj4)" &&
 
        git gc --auto 2>err &&
        test_i18ngrep ! "^warning:" err &&
-       ls .git/objects/pack/ | sort >post_packs &&
+       ls .git/objects/pack/pack-*.pack | sort >post_packs &&
        comm -1 -3 existing_packs post_packs >new &&
        comm -2 -3 existing_packs post_packs >del &&
        test_line_count = 0 del && # No packs are deleted
-       test_line_count = 2 new # There is one new pack and its .idx
+       test_line_count = 1 new # There is one new pack
 '
 
 test_expect_success 'gc --no-quiet' '
index 3d17e93..8f1caf8 100755 (executable)
@@ -1632,7 +1632,10 @@ test_expect_success 'O: blank lines not necessary after other commands' '
        INPUT_END
 
        git fast-import <input &&
-       test 8 = $(find .git/objects/pack -type f | grep -v multi-pack-index | wc -l) &&
+       ls -la .git/objects/pack/pack-*.pack >packlist &&
+       ls -la .git/objects/pack/pack-*.pack >idxlist &&
+       test_line_count = 4 idxlist &&
+       test_line_count = 4 packlist &&
        test $(git rev-parse refs/tags/O3-2nd) = $(git rev-parse O3^) &&
        git log --reverse --pretty=oneline O3 | sed s/^.*z// >actual &&
        test_cmp expect actual