]>
Commit | Line | Data |
---|---|---|
8de7eeb5 JH |
1 | #!/bin/sh |
2 | ||
3 | test_description='compression setting of fast-import utility' | |
4 | . ./test-lib.sh | |
5 | ||
6 | # This should be moved to test-lib.sh together with the | |
7 | # copy in t0021 after both topics have graduated to 'master'. | |
8 | file_size () { | |
9 | perl -e 'print -s $ARGV[0]' "$1" | |
10 | } | |
11 | ||
12 | import_large () { | |
13 | ( | |
14 | echo blob | |
15 | echo "data <<EOD" | |
16 | printf "%2000000s\n" "$*" | |
17 | echo EOD | |
18 | ) | git "$@" fast-import | |
19 | } | |
20 | ||
21 | while read expect config | |
22 | do | |
23 | test_expect_success "fast-import (packed) with $config" ' | |
24 | test_when_finished "rm -f .git/objects/pack/pack-*.*" && | |
25 | test_when_finished "rm -rf .git/objects/??" && | |
26 | import_large -c fastimport.unpacklimit=0 $config && | |
27 | sz=$(file_size .git/objects/pack/pack-*.pack) && | |
28 | case "$expect" in | |
29 | small) test "$sz" -le 100000 ;; | |
30 | large) test "$sz" -ge 100000 ;; | |
31 | esac | |
32 | ' | |
33 | done <<\EOF | |
34 | large -c core.compression=0 | |
35 | small -c core.compression=9 | |
36 | large -c core.compression=0 -c pack.compression=0 | |
37 | large -c core.compression=9 -c pack.compression=0 | |
38 | small -c core.compression=0 -c pack.compression=9 | |
39 | small -c core.compression=9 -c pack.compression=9 | |
40 | large -c pack.compression=0 | |
41 | small -c pack.compression=9 | |
42 | EOF | |
43 | ||
44 | while read expect config | |
45 | do | |
46 | test_expect_success "fast-import (loose) with $config" ' | |
47 | test_when_finished "rm -f .git/objects/pack/pack-*.*" && | |
48 | test_when_finished "rm -rf .git/objects/??" && | |
49 | import_large -c fastimport.unpacklimit=9 $config && | |
50 | sz=$(file_size .git/objects/??/????*) && | |
51 | case "$expect" in | |
52 | small) test "$sz" -le 100000 ;; | |
53 | large) test "$sz" -ge 100000 ;; | |
54 | esac | |
55 | ' | |
56 | done <<\EOF | |
57 | large -c core.compression=0 | |
58 | small -c core.compression=9 | |
59 | large -c core.compression=0 -c core.loosecompression=0 | |
60 | large -c core.compression=9 -c core.loosecompression=0 | |
61 | small -c core.compression=0 -c core.loosecompression=9 | |
62 | small -c core.compression=9 -c core.loosecompression=9 | |
63 | large -c core.loosecompression=0 | |
64 | small -c core.loosecompression=9 | |
65 | EOF | |
66 | ||
67 | test_done |