 75bfec6448
			
		
	
	75bfec6448
	
	
	
		
			
			This means that we can avoid hardcoding the number of headers we expect CGit to generate in test cases and simply remove whatever headers happen to by there when we are checking body content. Signed-off-by: John Keeping <john@keeping.me.uk>
		
			
				
	
	
		
			83 行
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			実行ファイル
		
	
	
	
	
			
		
		
	
	
			83 行
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			実行ファイル
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='Verify snapshot'
 | |
| . ./setup.sh
 | |
| 
 | |
| test_expect_success 'get foo/snapshot/master.tar.gz' '
 | |
| 	cgit_url "foo/snapshot/master.tar.gz" >tmp
 | |
| '
 | |
| 
 | |
| test_expect_success 'check html headers' '
 | |
| 	head -n 1 tmp |
 | |
| 	grep "Content-Type: application/x-gzip" &&
 | |
| 
 | |
| 	head -n 2 tmp |
 | |
| 	grep "Content-Disposition: inline; filename=.master.tar.gz."
 | |
| '
 | |
| 
 | |
| test_expect_success 'strip off the header lines' '
 | |
| 	strip_headers <tmp >master.tar.gz
 | |
| '
 | |
| 
 | |
| test_expect_success 'verify gzip format' '
 | |
| 	gunzip --test master.tar.gz
 | |
| '
 | |
| 
 | |
| test_expect_success 'untar' '
 | |
| 	rm -rf master &&
 | |
| 	tar -xzf master.tar.gz
 | |
| '
 | |
| 
 | |
| test_expect_success 'count files' '
 | |
| 	ls master/ >output &&
 | |
| 	test_line_count = 5 output
 | |
| '
 | |
| 
 | |
| test_expect_success 'verify untarred file-5' '
 | |
| 	grep "^5$" master/file-5 &&
 | |
| 	test_line_count = 1 master/file-5
 | |
| '
 | |
| 
 | |
| test_expect_success 'get foo/snapshot/master.zip' '
 | |
| 	cgit_url "foo/snapshot/master.zip" >tmp
 | |
| '
 | |
| 
 | |
| test_expect_success 'check HTML headers (zip)' '
 | |
| 	head -n 1 tmp |
 | |
| 	grep "Content-Type: application/x-zip" &&
 | |
| 
 | |
| 	head -n 2 tmp |
 | |
| 	grep "Content-Disposition: inline; filename=.master.zip."
 | |
| '
 | |
| 
 | |
| test_expect_success 'strip off the header lines (zip)' '
 | |
| 	strip_headers <tmp >master.zip
 | |
| '
 | |
| 
 | |
| if test -n "$(which unzip 2>/dev/null)"; then
 | |
| 	test_set_prereq UNZIP
 | |
| else
 | |
| 	say 'Skipping ZIP validation tests: unzip not found'
 | |
| fi
 | |
| 
 | |
| test_expect_success UNZIP 'verify zip format' '
 | |
| 	unzip -t master.zip
 | |
| '
 | |
| 
 | |
| test_expect_success UNZIP 'unzip' '
 | |
| 	rm -rf master &&
 | |
| 	unzip master.zip
 | |
| '
 | |
| 
 | |
| test_expect_success UNZIP 'count files (zip)' '
 | |
| 	ls master/ >output &&
 | |
| 	test_line_count = 5 output
 | |
| '
 | |
| 
 | |
| test_expect_success UNZIP 'verify unzipped file-5' '
 | |
| 	grep "^5$" master/file-5 &&
 | |
| 	test_line_count = 1 master/file-5
 | |
| '
 | |
| 
 | |
| test_done
 |