Re: [PATCH v2 2/4] t1500-rev-parse: add tests executed from sub path of the main worktree
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Apr 29, 2016, 14:22 UTC
- Message-ID
- <20160429142206.16397-1-szeder@ira.uka.de>
- In-Reply-To
- <1461361992-91918-3-git-send-email-rappazzo@gmail.com>
[Resend to list, sorry for the duplicates.]
Show 25 quoted lines
> Signed-off-by: Michael Rappazzo <rappazzo@gmail.com>
> ---
> t/t1500-rev-parse.sh | 37 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/t/t1500-rev-parse.sh b/t/t1500-rev-parse.sh
> index 48ee077..1e220f7 100755
> --- a/t/t1500-rev-parse.sh
> +++ b/t/t1500-rev-parse.sh
> @@ -36,6 +36,7 @@ test_rev_parse() {
> # label is-bare is-inside-git is-inside-work prefix git-dir
>
> ROOT=$(pwd)
> +original_core_bare=$(git config core.bare)
>
> test_rev_parse toplevel false false true '' .git
>
> @@ -84,4 +85,40 @@ test_rev_parse 'GIT_DIR=../repo.git, core.bare = true' true false false ''
> git config --unset core.bare
> test_rev_parse 'GIT_DIR=../repo.git, core.bare undefined' false false true ''
>
> +#cleanup from the above
> +cd ..
> +rm -r work
> +mv repo.git .git || exit 1You can't just 'exit 1' mid-script, because terminating the test script abruptly makes the test harness unhappy.
> +unset GIT_DIR > +unset GIT_CONFIG
Both variables are set at this point, so calling plain 'unset' is OK. Still, I would suggest using 'sane_unset' instead, so the next person looking at this test doesn't have to spend brain cycles on figuring out whether plain 'unset' is indeed safe or not.
> +git config core.bare $original_core_bare
This whole '#cleanup from the above' block is just ugly. Not your fault, of course, but the consequence of how the preceeding tests were written in the past. I think it would be best if this series were scheduled on top of the 't1500 cleanup & modernization' patch I saw a few days ago, then this block wouldn't be necessary at all.
Show 31 quoted lines
> +test_expect_success 'git-common-dir from worktree root' ' > + echo .git >expect && > + git rev-parse --git-common-dir >actual && > + test_cmp expect actual > +' > + > +test_expect_success 'git-common-dir inside sub-dir' ' > + mkdir -p path/to/child && > + test_when_finished "rm -rf path" && > + echo "$(git -C path/to/child rev-parse --show-cdup).git" >expect && > + git -C path/to/child rev-parse --git-common-dir >actual && > + test_cmp expect actual > +' > + > +test_expect_success 'git-path from worktree root' ' > + echo .git/objects >expect && > + git rev-parse --git-path objects >actual && > + test_cmp expect actual > +' > + > +test_expect_success 'git-path inside sub-dir' ' > + mkdir -p path/to/child && > + test_when_finished "rm -rf path" && > + echo "$(git -C path/to/child rev-parse --show-cdup).git/objects" >expect && > + git -C path/to/child rev-parse --git-path objects >actual && > + test_cmp expect actual > +' > + > test_done > -- > 2.8.0