Subject: Re: [PATCH 1/1] Add the `p4-pre-submit` hook

From: SZEDER Gábor <[email-masked]>
Date: Tue, 31 Jul 2018 10:46:38 +0200

> diff --git a/t/t9800-git-p4-basic.sh b/t/t9800-git-p4-basic.sh
> index 4849edc4e..2b7baa95d 100755
> --- a/t/t9800-git-p4-basic.sh
> +++ b/t/t9800-git-p4-basic.sh
> @@ -261,6 +261,35 @@ test_expect_success 'unresolvable host in P4PORT should display error' '
>  	)
>  '
>  
> +# Test following scenarios:
> +#   - Without ".git/hooks/p4-pre-submit" , submit should continue
> +#   - With the hook returning 0, submit should continue
> +#   - With the hook returning 1, submit should abort
> +test_expect_success 'run hook p4-pre-submit before submit' '
> +	test_when_finished cleanup_git &&
> +	git p4 clone --dest="$git" //depot &&
> +	(
> +		cd "$git" &&
> +		echo "hello world" >hello.txt &&
> +		git add hello.txt &&
> +		git commit -m "add hello.txt" &&
> +		git config git-p4.skipSubmitEdit true &&
> +		git-p4 submit --dry-run >out &&

This must be 'git p4 ...', i.e. without dash.

The dashed form causes the test to fail:

  <...>
  +git config git-p4.skipSubmitEdit true
  +git-p4 submit --dry-run
  t9800-git-p4-basic.sh: 12: eval: git-p4: not found
  error: last command exited with $?=127
  not ok 19 - run hook p4-pre-submit before submit

> +		grep "Would apply" out &&
> +		mkdir -p .git/hooks &&
> +		write_script .git/hooks/p4-pre-submit <<-\EOF &&
> +		exit 0
> +		EOF
> +		git-p4 submit --dry-run >out &&

Likewise.

> +		grep "Would apply" out &&
> +		write_script .git/hooks/p4-pre-submit <<-\EOF &&
> +		exit 1
> +		EOF
> +		test_must_fail git-p4 submit --dry-run >errs 2>&1 &&

Likewise.

> +		! grep "Would apply" err
> +	)
> +'
> +
>  test_expect_success 'submit from detached head' '
>  	test_when_finished cleanup_git &&
>  	git p4 clone --dest="$git" //depot &&
> -- 
> 2.18.0
> 
>