c446eece2e
We convert a few messages output by the various commands to use the capitalized "Git" project name instead of the lowercase variant, which will make them consistent with how the Git project name appears in other messages elsewhere. Note that some of these messages are not yet passed as translation strings, but we will address that issue in a subsequent commit.
91 lines
1.9 KiB
Bash
Executable File
91 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
. "$(dirname "$0")/testlib.sh"
|
|
|
|
# These tests rely on behavior found in 2.9.0 to perform themselves,
|
|
# specifically:
|
|
# - core.hooksPath support
|
|
ensure_git_version_isnt $VERSION_LOWER "2.9.0"
|
|
|
|
assert_hooks() {
|
|
local hooks_dir="$1"
|
|
[ -e "$hooks_dir/pre-push" ]
|
|
[ ! -e ".git/pre-push" ]
|
|
[ -e "$hooks_dir/post-checkout" ]
|
|
[ ! -e ".git/post-checkout" ]
|
|
[ -e "$hooks_dir/post-commit" ]
|
|
[ ! -e ".git/post-commit" ]
|
|
[ -e "$hooks_dir/post-merge" ]
|
|
[ ! -e ".git/post-merge" ]
|
|
}
|
|
|
|
refute_hooks() {
|
|
local hooks_dir="$1"
|
|
[ ! -e "$hooks_dir/pre-push" ]
|
|
[ ! -e "$hooks_dir/post-checkout" ]
|
|
[ ! -e "$hooks_dir/post-commit" ]
|
|
[ ! -e "$hooks_dir/post-merge" ]
|
|
}
|
|
|
|
begin_test "install with supported core.hooksPath"
|
|
(
|
|
set -e
|
|
|
|
repo_name="supported-custom-hooks-path"
|
|
git init "$repo_name"
|
|
cd "$repo_name"
|
|
|
|
hooks_dir="custom_hooks_dir"
|
|
mkdir -p "$hooks_dir"
|
|
|
|
git config --local core.hooksPath "$hooks_dir"
|
|
|
|
git lfs install 2>&1 | tee install.log
|
|
grep "Updated Git hooks" install.log
|
|
|
|
assert_hooks "$hooks_dir"
|
|
)
|
|
end_test
|
|
|
|
begin_test "install with supported core.hooksPath in subdirectory"
|
|
(
|
|
set -e
|
|
|
|
repo_name="supported-custom-hooks-path-subdir"
|
|
git init "$repo_name"
|
|
cd "$repo_name"
|
|
|
|
hooks_dir="custom_hooks_dir"
|
|
|
|
mkdir subdir
|
|
|
|
git config --local core.hooksPath "$hooks_dir"
|
|
|
|
(cd subdir && git lfs install 2>&1 | tee install.log)
|
|
grep "Updated Git hooks" subdir/install.log
|
|
|
|
assert_hooks "$hooks_dir"
|
|
refute_hooks "subdir/$hooks_dir"
|
|
)
|
|
end_test
|
|
|
|
begin_test "install with supported expandable core.hooksPath"
|
|
(
|
|
set -e
|
|
|
|
repo_name="supported-custom-hooks-expandable-path"
|
|
git init "$repo_name"
|
|
cd "$repo_name"
|
|
|
|
hooks_dir="~/custom_hooks_dir"
|
|
mkdir -p "$hooks_dir"
|
|
|
|
git config --local core.hooksPath "$hooks_dir"
|
|
|
|
git lfs install 2>&1 | tee install.log
|
|
grep "Updated Git hooks" install.log
|
|
|
|
assert_hooks "$HOME/custom_hooks_dir"
|
|
)
|
|
end_test
|