From: shubham verma <shubhunic@gmail.com>
To: git@vger.kernel.org
Cc: Shubham Verma <shubhunic@gmail.com>
Subject: [PATCH 11/11] t7001: move cleanup code from outside the tests into them
Date: Fri, 25 Sep 2020 22:32:56 +0530 [thread overview]
Message-ID: <20200925170256.11490-12-shubhunic@gmail.com> (raw)
In-Reply-To: <20200925170256.11490-1-shubhunic@gmail.com>
From: Shubham Verma <shubhunic@gmail.com>
Let's use test_when_finished() to include cleanup code inside the tests,
as it's cleaner and safer to not have any code outside the tests.
Signed-off-by: shubham verma <shubhunic@gmail.com>
---
t/t7001-mv.sh | 25 +++++++++++--------------
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh
index 7bb4a7b759..b4d04ceaf8 100755
--- a/t/t7001-mv.sh
+++ b/t/t7001-mv.sh
@@ -32,6 +32,7 @@ test_expect_success 'commiting the change' '
'
test_expect_success 'checking the commit' '
+ test_when_finished "rmdir path1" &&
git diff-tree -r -M --name-status HEAD^ HEAD >actual &&
grep "^R100..*path1/COPYING..*path0/COPYING" actual
'
@@ -43,6 +44,7 @@ test_expect_success 'mv --dry-run does not move file' '
'
test_expect_success 'checking -k on non-existing file' '
+ test_when_finished "rm -f idontexist path0/idontexist" &&
git mv -k idontexist path0
'
@@ -55,6 +57,7 @@ test_expect_success 'checking -k on untracked file' '
test_expect_success 'checking -k on multiple untracked files' '
: > untracked2 &&
+ test_when_finished "rm -f untracked2 path0/untracked2" &&
git mv -k untracked1 untracked2 path0 &&
test -f untracked1 &&
test -f untracked2 &&
@@ -64,18 +67,14 @@ test_expect_success 'checking -k on multiple untracked files' '
test_expect_success 'checking -f on untracked file with existing target' '
: > path0/untracked1 &&
+ test_when_finished "rm -f untracked1 path0/untracked1" &&
+ test_when_finished "rm -f .git/index.lock" &&
test_must_fail git mv -f untracked1 path0 &&
test ! -f .git/index.lock &&
test -f untracked1 &&
test -f path0/untracked1
'
-# clean up the mess in case bad things happen
-rm -f idontexist untracked1 untracked2 \
- path0/idontexist path0/untracked1 path0/untracked2 \
- .git/index.lock
-rmdir path1
-
test_expect_success 'moving to absent target with trailing slash' '
test_must_fail git mv path0/COPYING no-such-dir/ &&
test_must_fail git mv path0/COPYING no-such-dir// &&
@@ -149,10 +148,12 @@ test_expect_success 'do not move directory over existing directory' '
'
test_expect_success 'move into "."' '
+ test_when_finished "rm -fr path?" &&
git mv path1/path2/ .
'
test_expect_success "Michael Cassar's test case" '
+ test_when_finished "rm -fr papers partA" &&
rm -fr .git papers partA &&
git init &&
mkdir -p papers/unsorted papers/all-papers partA &&
@@ -168,8 +169,6 @@ test_expect_success "Michael Cassar's test case" '
git ls-tree -r $T | verbose grep partA/outline.txt
'
-rm -fr papers partA path?
-
test_expect_success "Sergey Vlasov's test case" '
rm -fr .git &&
git init &&
@@ -230,6 +229,7 @@ test_expect_success 'git mv to move multiple sources into a directory' '
'
test_expect_success 'git mv should not change sha1 of moved cache entry' '
+ test_when_finished "rm -f dirty dirty2" &&
rm -fr .git &&
git init &&
echo 1 >dirty &&
@@ -242,8 +242,6 @@ test_expect_success 'git mv should not change sha1 of moved cache entry' '
test "$entry" = "$(git ls-files --stage dirty | cut -f 1)"
'
-rm -f dirty dirty2
-
# NB: This test is about the error message
# as well as the failure.
test_expect_success 'git mv error on conflicted file' '
@@ -262,6 +260,7 @@ test_expect_success 'git mv error on conflicted file' '
'
test_expect_success 'git mv should overwrite symlink to a file' '
+ test_when_finished "rm -f moved symlink" &&
rm -fr .git &&
git init &&
echo 1 >moved &&
@@ -276,9 +275,8 @@ test_expect_success 'git mv should overwrite symlink to a file' '
git diff-files --quiet
'
-rm -f moved symlink
-
test_expect_success 'git mv should overwrite file with a symlink' '
+ test_when_finished "rm -f symlink" &&
rm -fr .git &&
git init &&
echo 1 >moved &&
@@ -292,11 +290,10 @@ test_expect_success 'git mv should overwrite file with a symlink' '
'
test_expect_success SYMLINKS 'check moved symlink' '
+ test_when_finished "rm -f moved" &&
test -h moved
'
-rm -f moved symlink
-
test_expect_success 'setup submodule' '
git commit -m initial &&
git reset --hard &&
--
2.25.1
next prev parent reply other threads:[~2020-09-25 17:03 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-25 17:02 [PATCH 00/11] Modernizing the t7001 test script shubham verma
2020-09-25 17:02 ` [PATCH 01/11] t7001: convert tests from the old style to the current style shubham verma
2020-09-25 17:40 ` Eric Sunshine
2020-09-25 17:02 ` [PATCH 02/11] t7001: use TAB instead of spaces shubham verma
2020-09-25 17:44 ` Eric Sunshine
2020-09-25 17:02 ` [PATCH 03/11] t7001: remove unnecessary blank lines shubham verma
2020-09-25 17:50 ` Eric Sunshine
2020-09-25 20:19 ` Junio C Hamano
2020-09-25 17:02 ` [PATCH 04/11] t7001: change the style for cd according to subshell shubham verma
2020-09-25 18:12 ` Eric Sunshine
2020-09-25 17:02 ` [PATCH 05/11] t7001: remove whitespace after redirect operators shubham verma
2020-09-25 17:02 ` [PATCH 06/11] t7001: change (cd <path> && git foo) to (git -C <path> foo) shubham verma
2020-09-25 18:53 ` Eric Sunshine
2020-09-25 17:02 ` [PATCH 07/11] t7001: use ': >' rather than 'touch' shubham verma
2020-09-25 18:57 ` Eric Sunshine
2020-09-25 20:21 ` Junio C Hamano
2020-09-25 17:02 ` [PATCH 08/11] t7001: put each command on a separate line shubham verma
2020-09-25 19:01 ` Eric Sunshine
2020-09-25 17:02 ` [PATCH 09/11] t7001: use here-docs instead of echo shubham verma
2020-09-25 20:23 ` Junio C Hamano
2020-09-25 17:02 ` [PATCH 10/11] t7001: use `test` rather than `[` shubham verma
2020-09-25 17:02 ` shubham verma [this message]
2020-09-25 19:36 ` [PATCH 11/11] t7001: move cleanup code from outside the tests into them Eric Sunshine
2020-09-25 20:54 ` Junio C Hamano
2020-09-25 17:33 ` [PATCH 00/11] Modernizing the t7001 test script Eric Sunshine
2020-10-01 5:42 ` Shubham Verma
2020-12-22 19:22 ` 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=20200925170256.11490-12-shubhunic@gmail.com \
--to=shubhunic@gmail.com \
--cc=git@vger.kernel.org \
/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).