Re: [PATCH v4 1/9] submodule absorbgitdirs tests: add missing "Migrating git..." tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



No comment on the structure of the tests themselves; those look good to
me.

Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes:

> diff --git a/t/t7412-submodule-absorbgitdirs.sh b/t/t7412-submodule-absorbgitdirs.sh
> index 2859695c6d2..d556342ea57 100755
> --- a/t/t7412-submodule-absorbgitdirs.sh
> +++ b/t/t7412-submodule-absorbgitdirs.sh
> @@ -10,6 +10,7 @@ TEST_PASSES_SANITIZE_LEAK=true
>  . ./test-lib.sh
>  
>  test_expect_success 'setup a real submodule' '
> +	cwd="$(pwd)" &&
>  	git init sub1 &&
>  	test_commit -C sub1 first &&
>  	git submodule add ./sub1 &&

[...]
 
> @@ -18,13 +19,21 @@ test_expect_success 'setup a real submodule' '
>  '
>  
>  test_expect_success 'absorb the git dir' '
> +	>expect &&
> +	>actual &&
>  	>expect.1 &&
>  	>expect.2 &&
>  	>actual.1 &&
>  	>actual.2 &&
>  	git status >expect.1 &&
>  	git -C sub1 rev-parse HEAD >expect.2 &&
> -	git submodule absorbgitdirs &&
> +	cat >expect <<-EOF &&
> +	Migrating git directory of '\''sub1'\'' from
> +	'\''$cwd/sub1/.git'\'' to
> +	'\''$cwd/.git/modules/sub1'\''
> +	EOF
> +	git submodule absorbgitdirs 2>actual &&
> +	test_cmp expect actual &&
>  	git fsck &&
>  	test -f sub1/.git &&
>  	test -d .git/modules/sub1 &&

I thought that we typically avoid setting environment variables in the
test cases themselves, so when we set environment variables to be read
in later tests, we typically set them outside of the test case (e.g.
t/t5526-fetch-submodules.sh).

> @@ -97,6 +119,27 @@ test_expect_success 'absorb the git dir in a nested submodule' '
>  	test_cmp expect.2 actual.2
>  '
>  
> +test_expect_success 'absorb the git dir outside of primary worktree' '
> +	test_when_finished "rm -rf repo-bare.git" &&
> +	git clone --bare . repo-bare.git &&
> +	test_when_finished "rm -rf repo-wt" &&
> +	git -C repo-bare.git worktree add ../repo-wt &&
> +
> +	test_when_finished "rm -f .gitconfig" &&
> +	test_config_global protocol.file.allow always &&
> +	git -C repo-wt submodule update --init &&
> +	git init repo-wt/sub2 &&
> +	test_commit -C repo-wt/sub2 A &&
> +	git -C repo-wt submodule add ./sub2 sub2 &&
> +	cat >expect <<-EOF &&
> +	Migrating git directory of '\''sub2'\'' from
> +	'\''$cwd/repo-wt/sub2/.git'\'' to
> +	'\''$cwd/repo-bare.git/worktrees/repo-wt/modules/sub2'\''
> +	EOF
> +	DO_IT=1 git -C repo-wt submodule absorbgitdirs 2>actual &&

DO_IT is a leftover from dev?

(I'm also curious as to what it does :)).




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux