 845eec2b64
			
		
	
	845eec2b64
	
	
	
		
			
			The lazy-init codepath will not be exercised uniless threaded. Skip the entire test on a single-core box. Also replace a hard-coded constant of 2000 (number of cache entries to manifacture for tests) with a variable with a human readable name. Signed-off-by: Kevin Willford <kewillf@microsoft.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			28 lines
		
	
	
		
			609 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			609 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='Test the lazy init name hash with various folder structures'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| 
 | |
| if test 1 -eq $($GIT_BUILD_DIR/t/helper/test-online-cpus)
 | |
| then
 | |
| 	skip_all='skipping lazy-init tests, single cpu'
 | |
| 	test_done
 | |
| fi
 | |
| 
 | |
| LAZY_THREAD_COST=2000
 | |
| 
 | |
| test_expect_success 'no buffer overflow in lazy_init_name_hash' '
 | |
| 	(
 | |
| 	    test_seq $LAZY_THREAD_COST | sed "s/^/a_/"
 | |
| 	    echo b/b/b
 | |
| 	    test_seq $LAZY_THREAD_COST | sed "s/^/c_/"
 | |
| 	    test_seq 50 | sed "s/^/d_/" | tr "\n" "/"; echo d
 | |
| 	) |
 | |
| 	sed "s/^/100644 $EMPTY_BLOB	/" |
 | |
| 	git update-index --index-info &&
 | |
| 	test-lazy-init-name-hash -m
 | |
| '
 | |
| 
 | |
| test_done
 |