| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 | 2 |
| 3 # Tests the "preupload and predcommit hooks" functionality, which lets you run | 3 # Tests the "preupload and predcommit hooks" functionality, which lets you run |
| 4 # hooks by installing a script into .git/hooks/pre-cl-* first. | 4 # hooks by installing a script into .git/hooks/pre-cl-* first. |
| 5 | 5 |
| 6 set -e | 6 set -e |
| 7 | 7 |
| 8 . ./test-lib.sh | 8 . ./test-lib.sh |
| 9 | 9 |
| 10 setup_initsvn | 10 setup_initsvn |
| 11 setup_gitsvn | 11 setup_gitsvn |
| 12 | 12 |
| 13 setup_hooks() { |
| 14 upload_retval = shift |
| 15 dcommit_retval = shift |
| 16 |
| 17 echo > PRESUBMIT.py <<END |
| 18 def CheckChangeOnUpload(input_api, output_api): |
| 19 return $upload_retval |
| 20 |
| 21 def CheckChangeOnCommit(input_api, output_api): |
| 22 return $dcommit_retval |
| 23 END |
| 24 } |
| 25 |
| 13 ( | 26 ( |
| 14 set -e | 27 set -e |
| 15 cd git-svn | 28 cd git-svn |
| 16 | 29 |
| 17 # We need a server set up, but we don't use it. | 30 # We need a server set up, but we don't use it. git config rietveld.server lo
calhost:1 |
| 18 git config rietveld.server localhost:1 | |
| 19 | 31 |
| 20 # Install a pre-cl-upload hook. | 32 # Install hooks that will fail on upload and commit |
| 21 echo "#!/bin/bash" > .git/hooks/pre-cl-upload | 33 setup_hooks 1 1 |
| 22 echo "echo 'sample preupload fail'" >> .git/hooks/pre-cl-upload | |
| 23 echo "exit 1" >> .git/hooks/pre-cl-upload | |
| 24 chmod 755 .git/hooks/pre-cl-upload | |
| 25 | |
| 26 # Install a pre-cl-dcommit hook. | |
| 27 echo "#!/bin/bash" > .git/hooks/pre-cl-dcommit | |
| 28 echo "echo 'sample predcommit fail'" >> .git/hooks/pre-cl-dcommit | |
| 29 echo "exit 1" >> .git/hooks/pre-cl-dcommit | |
| 30 chmod 755 .git/hooks/pre-cl-dcommit | |
| 31 | 34 |
| 32 echo "some work done" >> test | 35 echo "some work done" >> test |
| 33 git add test; git commit -q -m "work" | 36 git add test; git commit -q -m "work" |
| 34 | 37 |
| 35 # Verify git cl upload fails. | 38 # Verify git cl upload fails. |
| 36 test_expect_failure "git-cl upload hook fails" "$GIT_CL upload master" | 39 test_expect_failure "git-cl upload hook fails" "$GIT_CL upload master" |
| 37 | 40 |
| 38 # Verify git cl upload fails. | 41 # Verify git cl dcommit fails. |
| 39 test_expect_failure "git-cl dcommit hook fails" "$GIT_CL dcommit master" | 42 test_expect_failure "git-cl dcommit hook fails" "$GIT_CL dcommit master" |
| 40 ) | 43 ) |
| 41 SUCCESS=$? | 44 SUCCESS=$? |
| 42 | 45 |
| 43 #cleanup | 46 #cleanup |
| 44 | 47 |
| 45 if [ $SUCCESS == 0 ]; then | 48 if [ $SUCCESS == 0 ]; then |
| 46 echo PASS | 49 echo PASS |
| 47 fi | 50 fi |
| OLD | NEW |