> 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 > >