Re: [PATCH v4 1/9] submodule absorbgitdirs tests: add missing "Migrating git..." tests
- From
Glen Choo <chooglen@google.com>
- Date
- Dec 15, 2022, 20:54 UTC
- Message-ID
- <kl6l7cyse6bi.fsf@chooglen-macbookpro.roam.corp.google.com>
- In-Reply-To
- <patch-v4-1.9-f479003941b-20221215T083502Z-avarab@gmail.com>
No comment on the structure of the tests themselves; those look good to me.
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 12 quoted lines
> 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 &&
[...]
Show 23 quoted lines
> @@ -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).
Show 22 quoted lines
> @@ -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 :)).