Re: [RFC PATCH 1/3] t0009: add tests to cover more error reporting scenarios
Kaartic Sivaraam <kaartic.sivaraam@gmail.com> writes:
Show 24 quoted lines
> Introduce few more tests to t0009 to cover error reporting scenarios
> when --git-dir is used.
>
> Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
> ---
> t/t0009-git-dir-validation.sh | 36 +++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/t/t0009-git-dir-validation.sh b/t/t0009-git-dir-validation.sh
> index 4cba478e50..244dc07c0e 100755
> --- a/t/t0009-git-dir-validation.sh
> +++ b/t/t0009-git-dir-validation.sh
> @@ -74,4 +74,40 @@ test_expect_success 'setup: .git as an empty directory is ignored' '
> )
> '
>
> +test_expect_success 'setup: custom git directory with missing HEAD is rejected' '
> + test_when_finished "rm -rf parent/empty-dir" &&
> + mkdir -p parent/empty-dir &&
> + (
> + test_must_fail git --git-dir parent/empty-dir rev-parse --is-bare-repository 2>stderr &&
> + test_grep "not a git repository" stderr
> + )
> +'
Show 29 quoted lines
> +
> +test_expect_success 'setup: custom git directory with HEAD as a symlink outside refs/ is rejected' '
> + test_when_finished "rm -rf parent/head-as-link-to-garbage" &&
> + mkdir -p parent/head-as-link-to-garbage &&
> + (
> + cd parent/head-as-link-to-garbage &&
> + git init --bare real-repo &&
> + touch garbage &&
> + rm real-repo/HEAD &&
> + ln -s ../garbage real-repo/HEAD &&
> + test_must_fail git --git-dir real-repo rev-parse --is-bare-repository 2>stderr &&
> + test_grep "not a git repository" stderr
> + )
> +'
> +
> +test_expect_success 'setup: custom git directory with invalid GIT_OBJECT_DIRECTORY configuration is rejected' '
> + test_when_finished "rm -rf parent/invalid-git-object-directory-config" &&
> + mkdir -p parent/invalid-git-object-directory-config &&
> + (
> + cd parent/invalid-git-object-directory-config &&
> + git init --bare real-repo &&
> + test_must_fail env GIT_OBJECT_DIRECTORY="$(pwd)/does-not-exist" \
> + git --git-dir real-repo rev-parse --is-bare-repository 2>stderr &&
> + test_grep "not a git repository" stderr
> + )
> +'
> +
> +
> test_done