diff options
author | David Pursehouse <david.pursehouse@gmail.com> | 2019-01-20 19:58:10 +0900 |
---|---|---|
committer | David Pursehouse <david.pursehouse@gmail.com> | 2019-01-20 20:09:16 +0900 |
commit | 52923e9b077147d6734699f78247ac5b7666332f (patch) | |
tree | 0567accdd2ddc2f385ceedfaf6b8ebb34c15761c | |
parent | 91b1fe4687c3bff3195e6f2ff207ea96fa626cca (diff) | |
download | jgit-52923e9b077147d6734699f78247ac5b7666332f.tar.gz jgit-52923e9b077147d6734699f78247ac5b7666332f.zip |
LocalDiskRepositoryTestCase#createRepository: Default auto-close to false
Since 8ed59c5 ("Make TestRepository AutoCloseable", Jan 11, 2019) the
TestRepository class is auto-closeable, but instantiations of it were
not converted to use try-with-resource.
Converting to try-with-resource results, in several cases, in the
repository being closed twice because LocalDiskRepositoryTestCase has
logic to close created repositories in the tearDown method. This results
in several tests emitting a warning to the console:
close() called when useCnt is already zero
Change the default behavior of the createRepository method to not use
the auto-close logic in LocalDiskRepositoryTestCase, so that thy will
instead be closed (only once) using the AutoCloseable implementation.
Deprecate the method that has the autoClose parameter.
Change-Id: I63d62c9913f9b61271667861dae144e551d358c1
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
-rw-r--r-- | org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java | 9 | ||||
-rw-r--r-- | org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java | 10 |
2 files changed, 11 insertions, 8 deletions
diff --git a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java index 12b2169500..4b2eadf418 100644 --- a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java +++ b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java @@ -394,10 +394,11 @@ public abstract class LocalDiskRepositoryTestCase { * @return the newly created repository, opened for access * @throws IOException * the repository could not be created in the temporary area + * @since 5.3 */ - private FileRepository createRepository(boolean bare) + protected FileRepository createRepository(boolean bare) throws IOException { - return createRepository(bare, true /* auto close */); + return createRepository(bare, false /* auto close */); } /** @@ -407,11 +408,13 @@ public abstract class LocalDiskRepositoryTestCase { * true to create a bare repository; false to make a repository * within its working directory * @param autoClose - * auto close the repository in #tearDown + * auto close the repository in {@link #tearDown()} * @return the newly created repository, opened for access * @throws IOException * the repository could not be created in the temporary area + * @deprecated use {@link #createRepository(boolean)} instead */ + @Deprecated public FileRepository createRepository(boolean bare, boolean autoClose) throws IOException { File gitdir = createUniqueTestGitDir(bare); diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java index 58b005c282..15c4e4a029 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java @@ -110,7 +110,7 @@ public class RepositoryCacheTest extends RepositoryTestCase { @Test public void testFileKeyOpenNew() throws IOException { File gitdir; - try (Repository n = createRepository(true, false)) { + try (Repository n = createRepository(true)) { gitdir = n.getDirectory(); } recursiveDelete(gitdir); @@ -192,7 +192,7 @@ public class RepositoryCacheTest extends RepositoryTestCase { @Test public void testRepositoryUsageCountWithRegisteredRepository() throws IOException { - @SuppressWarnings("resource") // We are testing the close() method + @SuppressWarnings({"resource", "deprecation"}) // We are testing the close() method Repository repo = createRepository(false, false); assertEquals(1, repo.useCnt.get()); RepositoryCache.register(repo); @@ -240,9 +240,9 @@ public class RepositoryCacheTest extends RepositoryTestCase { @Test public void testRepositoryUnregisteringWhenExpired() throws Exception { - @SuppressWarnings("resource") // We are testing the close() method + @SuppressWarnings({"resource", "deprecation"}) // We are testing the close() method Repository repoA = createRepository(true, false); - @SuppressWarnings("resource") // We are testing the close() method + @SuppressWarnings({"resource", "deprecation"}) // We are testing the close() method Repository repoB = createRepository(true, false); Repository repoC = createBareRepository(); RepositoryCache.register(repoA); @@ -276,7 +276,7 @@ public class RepositoryCacheTest extends RepositoryTestCase { @Test public void testReconfigure() throws InterruptedException, IOException { - @SuppressWarnings("resource") // We are testing the close() method + @SuppressWarnings({"resource", "deprecation"}) // We are testing the close() method Repository repo = createRepository(false, false); RepositoryCache.register(repo); assertTrue(RepositoryCache.isCached(repo)); |