t7419: actually test the branch switching

The submodule repo the test set up had the 'topic' branch checked out,
meaning the repo's default branch (HEAD) is the 'topic' branch.

The following tests then pretended to switch between the default branch
and the 'topic' branch. This was papered over by continually adding
commits to the 'topic' branch and checking if the submodule gets updated
to this new commit.

Return the submodule repo to the 'main' branch after setup so we can
actually test the switching behavior.

Signed-off-by: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jan Alexander Steffens (heftig)
2023-10-03 20:50:44 +02:00
committed by Junio C Hamano
parent 387c122131
commit b027fb0784

View File

@ -11,6 +11,10 @@ as expected.
TEST_PASSES_SANITIZE_LEAK=true TEST_PASSES_SANITIZE_LEAK=true
TEST_NO_CREATE_REPO=1 TEST_NO_CREATE_REPO=1
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
. ./test-lib.sh . ./test-lib.sh
test_expect_success 'setup' ' test_expect_success 'setup' '
@ -27,7 +31,8 @@ test_expect_success 'submodule config cache setup' '
git checkout -b topic && git checkout -b topic &&
echo b >a && echo b >a &&
git add . && git add . &&
git commit -mb git commit -mb &&
git checkout main
) && ) &&
mkdir super && mkdir super &&
(cd super && (cd super &&
@ -57,13 +62,12 @@ test_expect_success 'test submodule set-branch --branch' '
' '
test_expect_success 'test submodule set-branch --default' ' test_expect_success 'test submodule set-branch --default' '
test_commit -C submodule c &&
(cd super && (cd super &&
git submodule set-branch --default submodule && git submodule set-branch --default submodule &&
! grep branch .gitmodules && ! grep branch .gitmodules &&
git submodule update --remote && git submodule update --remote &&
cat <<-\EOF >expect && cat <<-\EOF >expect &&
c a
EOF EOF
git -C submodule show -s --pretty=%s >actual && git -C submodule show -s --pretty=%s >actual &&
test_cmp expect actual test_cmp expect actual
@ -71,7 +75,6 @@ test_expect_success 'test submodule set-branch --default' '
' '
test_expect_success 'test submodule set-branch -b' ' test_expect_success 'test submodule set-branch -b' '
test_commit -C submodule b &&
(cd super && (cd super &&
git submodule set-branch -b topic submodule && git submodule set-branch -b topic submodule &&
grep "branch = topic" .gitmodules && grep "branch = topic" .gitmodules &&
@ -85,13 +88,12 @@ test_expect_success 'test submodule set-branch -b' '
' '
test_expect_success 'test submodule set-branch -d' ' test_expect_success 'test submodule set-branch -d' '
test_commit -C submodule d &&
(cd super && (cd super &&
git submodule set-branch -d submodule && git submodule set-branch -d submodule &&
! grep branch .gitmodules && ! grep branch .gitmodules &&
git submodule update --remote && git submodule update --remote &&
cat <<-\EOF >expect && cat <<-\EOF >expect &&
d a
EOF EOF
git -C submodule show -s --pretty=%s >actual && git -C submodule show -s --pretty=%s >actual &&
test_cmp expect actual test_cmp expect actual