From: Jiang Xin <worldhello.net@gmail.com>
To: Git List <git@vger.kernel.org>, Junio C Hamano <gitster@pobox.com>
Cc: Jiang Xin <zhiyou.jx@alibaba-inc.com>,
Jiang Xin <worldhello.net@gmail.com>
Subject: [PATCH v2 0/3] t1301: various updates
Date: Mon, 28 Nov 2022 21:03:20 +0800 [thread overview]
Message-ID: <20221128130323.8914-1-worldhello.net@gmail.com> (raw)
In-Reply-To: <20221127145130.16155-1-worldhello.net@gmail.com>
From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
## Changes since v1
The first version is based on the "master" branch, and this v2
revsion is based on the "maint" branch. Because only master
branch has the commit 93e02b6e1e (tests: don't assume a .git/info
for .git/info/grafts, 2022-06-03), we need add a "-p" option for
mkdir in patch 3/3.
It's very interesting. Just because the "mkdir .git/info" changes
in the above commit conflicts with our internal reference-transaction
hook which will automatically create a ".git/info" directory to
create some files inside, I found the wrong template issue in t1301
which is fixed in patch 1/3.
Other changes see the following range-diff.
## Range-diff v1...v2
1: 876709e3c8 ! 1: bc68ffb41c t1301: fix wrong template dir for git-init
@@ Metadata
## Commit message ##
t1301: fix wrong template dir for git-init
- The template dir parepared in test case "forced modes" is not used as
+ The template dir prepared in test case "forced modes" is not used as
expected because a wrong template dir is provided to "git init". This is
because the $CWD for "git-init" command is a sibling directory alongside
the template directory. Change it to the right template directory and
2: 515f6a5619 ! 2: ae2b2f8afc t1301: use test_when_finished for cleanup
@@ Metadata
## Commit message ##
t1301: use test_when_finished for cleanup
+ Refactor several test cases to use "test_when_finished" for cleanup.
+
+ 1. For first of these, we used to clean-up outside the test, but instead
+ let's use test_when_finished for that.
+
+ 2. For the second, we used to leave "new" after we are done, but not use
+ it at all later. Now we do clean up.
+
+ 3. For the rest, these child.git test repositories used to follow
+ "initialize what we are going to use to a known state before we use"
+ pattern, which is not wrong per-se, but now we use "clean up the
+ cruft we made after we are done" pattern, which may arguably be
+ better simply because the test that makes cruft should know what
+ cruft it created better than whatever comes later that may not know.
+
+ Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
## t/t1301-shared-repo.sh ##
3: 17a318c30d < -: ---------- t1301: wrap the statements in the for loop
4: 4738ad6f8b ! 3: f1bf255e5a t1301: do not change $CWD in "shared=all" test case
@@ Commit message
test case, all subsequent test cases will have different working
directory.
- Since the test case "shared=all" and all subsequent will work properly
- in the default test repository, we don't need to create and change to
- the "sub" directory in the test case "shared=all".
+ 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, we no longer run it in the "sub" repository
+ which is initialized from an empty template, we should not assume the
+ path ".git/info" is missing. So add option "-p" to mkdir.
+
+ Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
## t/t1301-shared-repo.sh ##
@@ t/t1301-shared-repo.sh: do
git init --template= --shared=all &&
test 2 = $(git config core.sharedrepository)
'
+@@ t/t1301-shared-repo.sh: test_expect_success POSIXPERM 'update-server-info honors core.sharedRepository'
+ git add a1 &&
+ test_tick &&
+ git commit -m a1 &&
+- mkdir .git/info &&
++ mkdir -p .git/info &&
+ umask 0277 &&
+ git update-server-info &&
+ actual="$(ls -l .git/info/refs)" &&
--
Jiang Xin (3):
t1301: fix wrong template dir for git-init
t1301: use test_when_finished for cleanup
t1301: do not change $CWD in "shared=all" test case
t/t1301-shared-repo.sh | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
--
2.39.0.rc0
next prev parent reply other threads:[~2022-11-28 13:03 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-27 14:51 [PATCH v1 1/4] t1301: fix wrong template dir for git-init Jiang Xin
2022-11-27 14:51 ` [PATCH v1 2/4] t1301: use test_when_finished for cleanup Jiang Xin
2022-11-28 4:11 ` Junio C Hamano
2022-11-27 14:51 ` [PATCH v1 3/4] t1301: wrap the statements in the for loop Jiang Xin
2022-11-28 4:18 ` Junio C Hamano
2022-11-28 9:43 ` Jiang Xin
2022-11-28 11:56 ` Jiang Xin
2022-11-27 14:51 ` [PATCH v1 4/4] t1301: do not change $CWD in "shared=all" test case Jiang Xin
2022-11-28 4:41 ` Junio C Hamano
2022-11-28 9:46 ` Jiang Xin
2022-11-28 13:03 ` Jiang Xin [this message]
2022-11-29 13:15 ` [PATCH v3 0/3] t1301: various updates Jiang Xin
2022-11-29 13:15 ` [PATCH v3 1/3] t1301: fix wrong template dir for git-init Jiang Xin
2022-11-29 13:15 ` [PATCH v3 2/3] t1301: use test_when_finished for cleanup Jiang Xin
2022-11-29 13:15 ` [PATCH v3 3/3] t1301: do not change $CWD in "shared=all" test case Jiang Xin
2022-11-28 13:03 ` [PATCH v2 1/3] t1301: fix wrong template dir for git-init Jiang Xin
2022-11-28 13:24 ` Ævar Arnfjörð Bjarmason
2022-11-28 14:12 ` Jiang Xin
2022-11-28 14:21 ` Ævar Arnfjörð Bjarmason
2022-11-28 13:03 ` [PATCH v2 2/3] t1301: use test_when_finished for cleanup Jiang Xin
2022-11-28 13:03 ` [PATCH v2 3/3] t1301: do not change $CWD in "shared=all" test case Jiang Xin
2022-11-28 13:18 ` Ævar Arnfjörð Bjarmason
2022-11-28 14:29 ` Jiang Xin
2022-11-29 0:30 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221128130323.8914-1-worldhello.net@gmail.com \
--to=worldhello.net@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=zhiyou.jx@alibaba-inc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).