]>
Commit | Line | Data |
---|---|---|
8de7eeb5 JH |
1 | #!/bin/sh |
2 | ||
3 | test_description='pack-object compression configuration' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | # This should be moved to test-lib.sh together with the | |
8 | # copy in t0021 after both topics have graduated to 'master'. | |
9 | file_size () { | |
5868bd86 | 10 | test-tool path-utils file-size "$1" |
8de7eeb5 JH |
11 | } |
12 | ||
13 | test_expect_success setup ' | |
14 | printf "%2000000s" X | | |
15 | git hash-object -w --stdin >object-name && | |
16 | # make sure it resulted in a loose object | |
17 | ob=$(sed -e "s/\(..\).*/\1/" object-name) && | |
18 | ject=$(sed -e "s/..\(.*\)/\1/" object-name) && | |
19 | test -f .git/objects/$ob/$ject | |
20 | ' | |
21 | ||
22 | while read expect config | |
23 | do | |
24 | test_expect_success "pack-objects with $config" ' | |
25 | test_when_finished "rm -f pack-*.*" && | |
26 | git $config pack-objects pack <object-name && | |
27 | sz=$(file_size 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 | test_done |