As discussed in t/README, tests should aim to use PERL_PATH rather than straight "perl". We usually do this automatically with a "perl" function in test-lib.sh, but a few cases need to be handled specially. One such case is the apply-one-time-perl.sh CGI, which invokes plain "perl". It should be using $PERL_PATH, but to make that work, we must also instruct Apache to pass through the variable. Prior to this patch, doing: mv /usr/bin/perl /usr/bin/my-perl make PERL_PATH=/usr/bin/my-perl test would fail t5702, t5703, and t5616. After this it passes. This is a pretty extreme case, as even if you install perl elsewhere, you'd likely still have it in your $PATH. A more realistic case is that you don't want to use the perl in your $PATH (because it's older, broken, etc) and expect PERL_PATH to consistently override that (since that's what it's documented to do). Removing it completely is just a convenient way of completely breaking it for testing purposes. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			28 lines
		
	
	
		
			694 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			694 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
# If "one-time-perl" exists in $HTTPD_ROOT_PATH, run perl on the HTTP response,
 | 
						|
# using the contents of "one-time-perl" as the perl command to be run. If the
 | 
						|
# response was modified as a result, delete "one-time-perl" so that subsequent
 | 
						|
# HTTP responses are no longer modified.
 | 
						|
#
 | 
						|
# This can be used to simulate the effects of the repository changing in
 | 
						|
# between HTTP request-response pairs.
 | 
						|
if test -f one-time-perl
 | 
						|
then
 | 
						|
	LC_ALL=C
 | 
						|
	export LC_ALL
 | 
						|
 | 
						|
	"$GIT_EXEC_PATH/git-http-backend" >out
 | 
						|
	"$PERL_PATH" -pe "$(cat one-time-perl)" out >out_modified
 | 
						|
 | 
						|
	if cmp -s out out_modified
 | 
						|
	then
 | 
						|
		cat out
 | 
						|
	else
 | 
						|
		cat out_modified
 | 
						|
		rm one-time-perl
 | 
						|
	fi
 | 
						|
else
 | 
						|
	"$GIT_EXEC_PATH/git-http-backend"
 | 
						|
fi
 |