git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] t7300: repair filesystem permissions with test_when_finished
@ 2014-07-02 18:44 Jeff King
  2014-07-02 19:01 ` Jonathan Nieder
  2014-07-02 19:11 ` [RFH] "git clean" deletes excluded files in untracked directories Jeff King
  0 siblings, 2 replies; 8+ messages in thread
From: Jeff King @ 2014-07-02 18:44 UTC (permalink / raw)
  To: git

We create a directory that cannot be removed, confirm that
it cannot be removed, and then fix it like:

  chmod 0 foo &&
  test_must_fail git clean -d -f &&
  chmod 755 foo

If the middle step fails but leaves the directory (e.g., the
bug is that clean does not notice the failure), this
pollutes the test repo with an unremovable directory. Not
only does this cause further tests to fail, but it means
that "rm -rf" fails on the whole trash directory, and the
user has to intervene manually to even re-run the test script.

We can bump the "chmod 755" recovery to a test_when_finished
block to be sure that it always runs.

Signed-off-by: Jeff King <peff@peff.net>
---
 t/t7300-clean.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index 74de814..04118ad 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -426,10 +426,10 @@ test_expect_success SANITY 'removal failure' '
 
 	mkdir foo &&
 	touch foo/bar &&
+	test_when_finished "chmod 755 foo" &&
 	(exec <foo/bar &&
 	 chmod 0 foo &&
-	 test_must_fail git clean -f -d &&
-	 chmod 755 foo)
+	 test_must_fail git clean -f -d)
 '
 
 test_expect_success 'nested git work tree' '
-- 
2.0.0.566.gfe3e6b2

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-07-22 22:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-02 18:44 [PATCH] t7300: repair filesystem permissions with test_when_finished Jeff King
2014-07-02 19:01 ` Jonathan Nieder
2014-07-02 19:03   ` Jeff King
2014-07-02 20:05     ` Junio C Hamano
2014-07-02 20:06       ` Junio C Hamano
2014-07-02 19:11 ` [RFH] "git clean" deletes excluded files in untracked directories Jeff King
2014-07-22 21:39   ` Junio C Hamano
2014-07-22 22:53     ` Junio C Hamano

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).