diff options
Diffstat (limited to 't/lib-httpd.sh')
| -rw-r--r-- | t/lib-httpd.sh | 19 | 
1 files changed, 18 insertions, 1 deletions
diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh index 895b9258b0..dab405d574 100644 --- a/t/lib-httpd.sh +++ b/t/lib-httpd.sh @@ -141,10 +141,11 @@ stop_httpd() {  		-f "$TEST_PATH/apache.conf" $HTTPD_PARA -k stop  } -test_http_push_nonff() { +test_http_push_nonff () {  	REMOTE_REPO=$1  	LOCAL_REPO=$2  	BRANCH=$3 +	EXPECT_CAS_RESULT=${4-failure}  	test_expect_success 'non-fast-forward push fails' '  		cd "$REMOTE_REPO" && @@ -167,6 +168,22 @@ test_http_push_nonff() {  	test_expect_success 'non-fast-forward push shows help message' '  		test_i18ngrep "Updates were rejected because" output  	' + +	test_expect_failure 'force with lease aka cas' ' +		HEAD=$(	cd "$REMOTE_REPO" && git rev-parse --verify HEAD ) && +		test_when_finished '\'' +			(cd "$REMOTE_REPO" && git update-ref HEAD "$HEAD") +		'\'' && +		( +			cd "$LOCAL_REPO" && +			git push -v --force-with-lease=$BRANCH:$HEAD origin +		) && +		git rev-parse --verify "$BRANCH" >expect && +		( +			cd "$REMOTE_REPO" && git rev-parse --verify HEAD +		) >actual && +		test_cmp expect actual +	'  }  setup_askpass_helper() {  | 
