]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t1301: do not change $CWD in "shared=all" test case
authorJiang Xin <zhiyou.jx@alibaba-inc.com>
Tue, 29 Nov 2022 13:15:11 +0000 (21:15 +0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 30 Nov 2022 01:21:51 +0000 (10:21 +0900)
In test case "shared=all", the working directory is permanently changed
to the "sub" directory. This leads to a strange behavior that the
temporary repositories created by subsequent test cases are all in this
"sub" directory, such as "sub/new", "sub/child.git". If we bypass this
test case, all subsequent test cases will have different working
directory.

Besides, all subsequent test cases assuming they are in the "sub"
directory do not run any destructive operations in their parent
directory (".."), and will not make damage out side of $TRASH_DIRECTORY.

So it is a safe change for us to run the test case "shared=all" in
current repository instead of creating and changing to "sub".

For the next test case, the path ".git/info" is assumed to be missing,
but we no longer run the test case in the "sub" repository which is
initialized from an empty template. In order for the test case to run
properly, we can set "TEST_CREATE_REPO_NO_TEMPLATE=1" to initialize the
default repository without a template.

Helped-by: Junio C Hamano <gitster@pobox.com>
Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1301-shared-repo.sh

index 1225abbb6d37cd66c89ab553c797893b572bf297..58d6da7feb17b4b6f24af8c136ce4b50bbaf05e6 100755 (executable)
@@ -8,6 +8,7 @@ test_description='Test shared repository initialization'
 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
 
+TEST_CREATE_REPO_NO_TEMPLATE=1
 . ./test-lib.sh
 
 # Remove a default ACL from the test dir if possible.
@@ -46,8 +47,6 @@ do
 done
 
 test_expect_success 'shared=all' '
-       mkdir sub &&
-       cd sub &&
        git init --template= --shared=all &&
        test 2 = $(git config core.sharedrepository)
 '