 2c7e134cfe
			
		
	
	2c7e134cfe
	
	
	
		
			
			Change this test to skip test with test prerequisites, and to do setup work in tests. This improves the skipped statistics on platforms where the test isn't run. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='Test cloning a repository larger than 2 gigabyte'
 | |
| . ./test-lib.sh
 | |
| 
 | |
| if test -z "$GIT_TEST_CLONE_2GB"
 | |
| then
 | |
| 	say 'Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t'
 | |
| else
 | |
| 	test_set_prereq CLONE_2GB
 | |
| fi
 | |
| 
 | |
| test_expect_success CLONE_2GB 'setup' '
 | |
| 
 | |
| 	git config pack.compression 0 &&
 | |
| 	git config pack.depth 0 &&
 | |
| 	blobsize=$((100*1024*1024)) &&
 | |
| 	blobcount=$((2*1024*1024*1024/$blobsize+1)) &&
 | |
| 	i=1 &&
 | |
| 	(while test $i -le $blobcount
 | |
| 	 do
 | |
| 		printf "Generating blob $i/$blobcount\r" >&2 &&
 | |
| 		printf "blob\nmark :$i\ndata $blobsize\n" &&
 | |
| 		#test-genrandom $i $blobsize &&
 | |
| 		printf "%-${blobsize}s" $i &&
 | |
| 		echo "M 100644 :$i $i" >> commit
 | |
| 		i=$(($i+1)) ||
 | |
| 		echo $? > exit-status
 | |
| 	 done &&
 | |
| 	 echo "commit refs/heads/master" &&
 | |
| 	 echo "author A U Thor <author@email.com> 123456789 +0000" &&
 | |
| 	 echo "committer C O Mitter <committer@email.com> 123456789 +0000" &&
 | |
| 	 echo "data 5" &&
 | |
| 	 echo ">2gb" &&
 | |
| 	 cat commit) |
 | |
| 	git fast-import --big-file-threshold=2 &&
 | |
| 	test ! -f exit-status
 | |
| 
 | |
| '
 | |
| 
 | |
| test_expect_success CLONE_2GB 'clone - bare' '
 | |
| 
 | |
| 	git clone --bare --no-hardlinks . clone-bare
 | |
| 
 | |
| '
 | |
| 
 | |
| test_expect_success CLONE_2GB 'clone - with worktree, file:// protocol' '
 | |
| 
 | |
| 	git clone file://. clone-wt
 | |
| 
 | |
| '
 | |
| 
 | |
| test_done
 |