Skip to content

Commit 2bcbf65

Browse files
committed
t9390: add disgusting hack to --analyze test so it works with zlib-ng
When git is built with zlib-ng instead of with zlib, objects can compress differently. Detect that at run time and adjust the expectation of the --analyze test accordingly. Signed-off-by: Elijah Newren <[email protected]>
1 parent 619050d commit 2bcbf65

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

t/t9390-filter-repo.sh

+20-10
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,16 @@ test_expect_success C_LOCALE_OUTPUT '--analyze' '
757757
(
758758
cd analyze_me &&
759759
760+
# Detect whether zlib or zlib-ng are in use; they give
761+
# slightly different compression
762+
echo e80fdf8cd5fb645649c14f41656a076dedc4e12a >expect &&
763+
python -c "print(\"test\\t\" * 1000, end=\"\")" | git hash-object -w --stdin >actual &&
764+
test_cmp expect actual &&
765+
compressed_size=$(python -c "import os; print(os.path.getsize(\".git/objects/e8/0fdf8cd5fb645649c14f41656a076dedc4e12a\"))") &&
766+
zlibng=$((72-${compressed_size})) &&
767+
test $zlibng -eq "0" -o $zlibng -eq "2" &&
768+
769+
# Now do the analysis
760770
git filter-repo --analyze &&
761771
762772
# It should not work again without a --force
@@ -785,16 +795,16 @@ test_expect_success C_LOCALE_OUTPUT '--analyze' '
785795
Number of file extensions: 2
786796
787797
Total unpacked size (bytes): 206
788-
Total packed size (bytes): 387
798+
Total packed size (bytes): $((387+${zlibng}))
789799
790800
EOF
791801
head -n 9 README >actual &&
792802
test_cmp expect actual &&
793803
794-
cat >expect <<-\EOF &&
804+
cat >expect <<-EOF &&
795805
=== Files by sha and associated pathnames in reverse size ===
796806
Format: sha, unpacked size, packed size, filename(s) object stored as
797-
a89c82a2d4b713a125a4323d25adda062cc0013d 44 48 numbers/medium.num
807+
a89c82a2d4b713a125a4323d25adda062cc0013d 44 $((48+${zlibng})) numbers/medium.num
798808
c58ae2ffaf8352bd9860bf4bbb6ea78238dca846 35 41 fickle
799809
ccff62141ec7bae42e01a3dcb7615b38aa9fa5b3 24 40 fickle
800810
f00c965d8307308469e537302baa73048488f162 21 37 numbers/small.num
@@ -809,8 +819,8 @@ test_expect_success C_LOCALE_OUTPUT '--analyze' '
809819
cat >expect <<-EOF &&
810820
=== All directories by reverse size ===
811821
Format: unpacked size, packed size, date deleted, directory name
812-
206 387 <present> <toplevel>
813-
65 85 2005-04-07 numbers
822+
206 $((387+${zlibng})) <present> <toplevel>
823+
65 $((85+${zlibng})) 2005-04-07 numbers
814824
13 58 <present> words
815825
10 40 <present> sequence
816826
EOF
@@ -819,30 +829,30 @@ test_expect_success C_LOCALE_OUTPUT '--analyze' '
819829
cat >expect <<-EOF &&
820830
=== Deleted directories by reverse size ===
821831
Format: unpacked size, packed size, date deleted, directory name
822-
65 85 2005-04-07 numbers
832+
65 $((85+${zlibng})) 2005-04-07 numbers
823833
EOF
824834
test_cmp expect directories-deleted-sizes.txt &&
825835
826836
cat >expect <<-EOF &&
827837
=== All extensions by reverse size ===
828838
Format: unpacked size, packed size, date deleted, extension name
829839
141 302 <present> <no extension>
830-
65 85 2005-04-07 .num
840+
65 $((85+${zlibng})) 2005-04-07 .num
831841
EOF
832842
test_cmp expect extensions-all-sizes.txt &&
833843
834844
cat >expect <<-EOF &&
835845
=== Deleted extensions by reverse size ===
836846
Format: unpacked size, packed size, date deleted, extension name
837-
65 85 2005-04-07 .num
847+
65 $((85+${zlibng})) 2005-04-07 .num
838848
EOF
839849
test_cmp expect extensions-deleted-sizes.txt &&
840850
841851
cat >expect <<-EOF &&
842852
=== All paths by reverse accumulated size ===
843853
Format: unpacked size, packed size, date deleted, path name
844854
72 110 <present> fickle
845-
44 48 2005-04-07 numbers/medium.num
855+
44 $((48+${zlibng})) 2005-04-07 numbers/medium.num
846856
8 38 <present> words/know
847857
21 37 2005-04-07 numbers/small.num
848858
20 36 <present> whatever
@@ -857,7 +867,7 @@ test_expect_success C_LOCALE_OUTPUT '--analyze' '
857867
cat >expect <<-EOF &&
858868
=== Deleted paths by reverse accumulated size ===
859869
Format: unpacked size, packed size, date deleted, path name(s)
860-
44 48 2005-04-07 numbers/medium.num
870+
44 $((48+${zlibng})) 2005-04-07 numbers/medium.num
861871
21 37 2005-04-07 numbers/small.num
862872
EOF
863873
test_cmp expect path-deleted-sizes.txt

0 commit comments

Comments
 (0)