|  | #!/bin/sh | 
|  |  | 
|  | test_description='pack-object compression configuration' | 
|  |  | 
|  | . ./test-lib.sh | 
|  |  | 
|  | # This should be moved to test-lib.sh together with the | 
|  | # copy in t0021 after both topics have graduated to 'master'. | 
|  | file_size () { | 
|  | test-tool path-utils file-size "$1" | 
|  | } | 
|  |  | 
|  | test_expect_success setup ' | 
|  | printf "%2000000s" X | | 
|  | git hash-object -w --stdin >object-name && | 
|  | # make sure it resulted in a loose object | 
|  | ob=$(sed -e "s/\(..\).*/\1/" object-name) && | 
|  | ject=$(sed -e "s/..\(.*\)/\1/" object-name) && | 
|  | test -f .git/objects/$ob/$ject | 
|  | ' | 
|  |  | 
|  | while read expect config | 
|  | do | 
|  | test_expect_success "pack-objects with $config" ' | 
|  | test_when_finished "rm -f pack-*.*" && | 
|  | git $config pack-objects pack <object-name && | 
|  | sz=$(file_size pack-*.pack) && | 
|  | case "$expect" in | 
|  | small) test "$sz" -le 100000 ;; | 
|  | large) test "$sz" -ge 100000 ;; | 
|  | esac | 
|  | ' | 
|  | done <<\EOF | 
|  | large -c core.compression=0 | 
|  | small -c core.compression=9 | 
|  | large -c core.compression=0 -c pack.compression=0 | 
|  | large -c core.compression=9 -c pack.compression=0 | 
|  | small -c core.compression=0 -c pack.compression=9 | 
|  | small -c core.compression=9 -c pack.compression=9 | 
|  | large -c pack.compression=0 | 
|  | small -c pack.compression=9 | 
|  | EOF | 
|  |  | 
|  | test_done |