From: Robin Rosenberg Date: Thu, 27 Nov 2008 21:15:33 GMT Subject: [JGIT PATCH 2/4] Add shutdown hooks to try to clean up after unit tests anyway Message-ID: <1227820535-9785-3-git-send-email-robin.rosenberg@dewire.com> In-Reply-To: <1227820535-9785-2-git-send-email-robin.rosenberg@dewire.com> Signed-off-by: Robin Rosenberg --- .../org/spearce/jgit/lib/RepositoryTestCase.java | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 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 9c272f6..ef4fd1b 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 @@ -66,8 +66,8 @@ jcommitter = new PersonIdent("J. Committer", "jcommitter@example.com"); } - protected static boolean recursiveDelete(final File dir) { - return recursiveDelete(dir, false, null); + protected boolean recursiveDelete(final File dir) { + return recursiveDelete(dir, false, getClass().getName() + "." + getName()); } protected static boolean recursiveDelete(final File dir, boolean silent, @@ -161,6 +161,12 @@ public void run() { }; Runtime.getRuntime().addShutdownHook(shutdownhook); } + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override + public void run() { + recursiveDelete(trash); + } + }); db = new Repository(trash_git); db.create(); @@ -197,12 +203,18 @@ protected void tearDown() throws Exception { * @throws IOException */ protected Repository createNewEmptyRepo() throws IOException { - File newTestRepo = new File(trashParent, "new"+System.currentTimeMillis()+"/.git"); + final File newTestRepo = new File(trashParent, "new"+System.currentTimeMillis()+"/.git"); assertFalse(newTestRepo.exists()); File unusedDir = new File(trashParent, "tmp"+System.currentTimeMillis()); assertTrue(unusedDir.mkdirs()); final Repository newRepo = new Repository(newTestRepo); newRepo.create(); + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override + public void run() { + recursiveDelete(newTestRepo); + } + }); return newRepo; } -- 1.6.0.3.640.g6331a