[JGIT PATCH 5/8] Make the cleanup less verbose when it fails to delete temporary stuff.
STALE3761d
From: Robin Rosenberg <hidden>
Date: 2016-06-15 22:45:42
Subsystem:
the rest · Maintainer:
Linus Torvalds
Pass the test case name for easier tracking of the test case that causes problems. Signed-off-by: Robin Rosenberg <redacted> --- .../org/spearce/jgit/lib/RepositoryTestCase.java | 36 ++++++++++++++++---- 1 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/RepositoryTestCase.java b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/RepositoryTestCase.java
index 6ea9b45..8e23bc1 100644
--- a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/RepositoryTestCase.java
+++ b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/RepositoryTestCase.java@@ -96,21 +96,42 @@ protected void configure() { * @param dir */ protected static void recursiveDelete(final File dir) { + recursiveDelete(dir, false, null); + } + + protected static boolean recursiveDelete(final File dir, boolean silent, + final String name) { + if (!dir.exists()) + return silent; final File[] ls = dir.listFiles(); if (ls != null) { for (int k = 0; k < ls.length; k++) { final File e = ls[k]; if (e.isDirectory()) { - recursiveDelete(e); + silent = recursiveDelete(e, silent, name); } else { - e.delete(); + if (!e.delete()) { + if (!silent) { + String msg = "Warning: Failed to delete " + e; + if (name != null) + msg += " in " + name; + System.out.println(msg); + } + silent = true; + } } } } - dir.delete(); - if (dir.exists()) { - System.out.println("Warning: Failed to delete " + dir); + if (!dir.delete()) { + if (!silent) { + String msg = "Warning: Failed to delete " + dir; + if (name != null) + msg += " in " + name; + System.out.println(msg); + } + silent = true; } + return silent; } protected static void copyFile(final File src, final File dst)
@@ -155,14 +176,15 @@ protected static void checkFile(File f, final String checkData) public void setUp() throws Exception { super.setUp(); configure(); - recursiveDelete(trashParent); + final String name = getClass().getName() + "." + getName(); + recursiveDelete(trashParent, true, name); trash = new File(trashParent,"trash"+System.currentTimeMillis()+"."+(testcount++)); trash_git = new File(trash, ".git"); Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { - recursiveDelete(trashParent); + recursiveDelete(trashParent, false, name); } });
--
1.6.0.3.640.g6331a