mirror of
https://github.com/git/git
synced 2024-08-25 10:45:59 +00:00
![Ævar Arnfjörð Bjarmason](/assets/img/avatar_default.png)
Add a "test_hook" wrapper similar to the existing "test_config"
wrapper added in d960c47a88
(test-lib: add helper functions for
config, 2011-08-17).
This wrapper:
- Will clean up the hook with "test_when_finished", unless --setup is
provided.
- Will error if we clobber a hook, unless --clobber is provided.
- Takes a name like "update" instead of ".git/hooks/update".
- Accepts -C <dir>, like "test_config" and "test_commit".
By using a wrapper we'll be able to easily change all the hook-related
code that assumes that the template-created ".git/hooks" directory is
created by "init", "clone" etc. once another topic follows-up and
changes the test suite to stop creating trash directories using those
templates.
In addition this will make it easy to have the hooks configured using
the "configuration-based hooks" topic, once we get around to
integrating that. I.e. we'll be able to run the tests in a mode where
we sometimes create a .git/hooks/<name>, and other times create a
script in another location, and point the relevant configuration
snippet to it.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
25 lines
454 B
Bash
Executable file
25 lines
454 B
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='remote push rejects are reported by client'
|
|
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'setup' '
|
|
test_hook update <<-\EOF &&
|
|
exit 1
|
|
EOF
|
|
echo 1 >file &&
|
|
git add file &&
|
|
git commit -m 1 &&
|
|
git clone . child &&
|
|
cd child &&
|
|
echo 2 >file &&
|
|
git commit -a -m 2
|
|
'
|
|
|
|
test_expect_success 'push reports error' 'test_must_fail git push 2>stderr'
|
|
|
|
test_expect_success 'individual ref reports error' 'grep rejected stderr'
|
|
|
|
test_done
|