You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
depot_tools/git_cl/test/hooks.sh

48 lines
1.1 KiB
Bash

#!/bin/bash
# Tests the "preupload and predcommit hooks" functionality, which lets you run
# hooks by installing a script into .git/hooks/pre-cl-* first.
set -e
. ./test-lib.sh
setup_initsvn
setup_gitsvn
(
set -e
cd git-svn
# We need a server set up, but we don't use it.
git config rietveld.server localhost:1
# Install a pre-cl-upload hook.
echo "#!/bin/bash" > .git/hooks/pre-cl-upload
echo "echo 'sample preupload fail'" >> .git/hooks/pre-cl-upload
echo "exit 1" >> .git/hooks/pre-cl-upload
chmod 755 .git/hooks/pre-cl-upload
# Install a pre-cl-dcommit hook.
echo "#!/bin/bash" > .git/hooks/pre-cl-dcommit
echo "echo 'sample predcommit fail'" >> .git/hooks/pre-cl-dcommit
echo "exit 1" >> .git/hooks/pre-cl-dcommit
chmod 755 .git/hooks/pre-cl-dcommit
echo "some work done" >> test
git add test; git commit -q -m "work"
# Verify git cl upload fails.
test_expect_failure "git-cl upload hook fails" "$GIT_CL upload master"
# Verify git cl upload fails.
test_expect_failure "git-cl dcommit hook fails" "$GIT_CL dcommit master"
)
SUCCESS=$?
#cleanup
if [ $SUCCESS == 0 ]; then
echo PASS
fi