 5868bd8620
			
		
	
	5868bd8620
	
	
	
		
			
			It is a bit ridiculous to spin up a full-blown Perl instance (especially on Windows, where that means spinning up a full POSIX emulation layer, AKA the MSYS2 runtime) just to tell how large a given file is. So let's just use the test-tool to do that job instead. This command will also be used over the next commits, to allow for cutting out individual test cases' verbose log from the file generated via --verbose-log. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='compression setting of fast-import utility'
 | |
| . ./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"
 | |
| }
 | |
| 
 | |
| import_large () {
 | |
| 	(
 | |
| 		echo blob
 | |
| 		echo "data <<EOD"
 | |
| 		printf "%2000000s\n" "$*"
 | |
| 		echo EOD
 | |
| 	) | git "$@" fast-import
 | |
| }
 | |
| 
 | |
| while read expect config
 | |
| do
 | |
| 	test_expect_success "fast-import (packed) with $config" '
 | |
| 		test_when_finished "rm -f .git/objects/pack/pack-*.*" &&
 | |
| 		test_when_finished "rm -rf .git/objects/??" &&
 | |
| 		import_large -c fastimport.unpacklimit=0 $config &&
 | |
| 		sz=$(file_size .git/objects/pack/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
 | |
| 
 | |
| while read expect config
 | |
| do
 | |
| 	test_expect_success "fast-import (loose) with $config" '
 | |
| 		test_when_finished "rm -f .git/objects/pack/pack-*.*" &&
 | |
| 		test_when_finished "rm -rf .git/objects/??" &&
 | |
| 		import_large -c fastimport.unpacklimit=9 $config &&
 | |
| 		sz=$(file_size .git/objects/??/????*) &&
 | |
| 		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 core.loosecompression=0
 | |
| large -c core.compression=9 -c core.loosecompression=0
 | |
| small -c core.compression=0 -c core.loosecompression=9
 | |
| small -c core.compression=9 -c core.loosecompression=9
 | |
| large -c core.loosecompression=0
 | |
| small -c core.loosecompression=9
 | |
| EOF
 | |
| 
 | |
| test_done
 |