fix spuriously failing tests
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/047565e8 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/047565e8 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/047565e8 Branch: refs/heads/LOG4J2-1278-gc-free-logger Commit: 047565e8928b0c9893c25ee92ffdf48dbcd6965c Parents: 5fea6c4 Author: rpopma <[email protected]> Authored: Wed Feb 24 02:46:04 2016 +0900 Committer: rpopma <[email protected]> Committed: Wed Feb 24 02:46:04 2016 +0900 ---------------------------------------------------------------------- .../routing/PropertiesRoutingAppenderTest.java | 1 + .../core/appender/routing/RoutingAppenderTest.java | 1 + .../routing/RoutingAppenderWithPurgingTest.java | 13 +++++++------ .../appender/routing/RoutingDefaultAppenderTest.java | 1 + .../org/apache/logging/log4j/junit/CleanFiles.java | 15 +++++++++++---- 5 files changed, 21 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/047565e8/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/PropertiesRoutingAppenderTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/PropertiesRoutingAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/PropertiesRoutingAppenderTest.java index 81910fc..a02a9d1 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/PropertiesRoutingAppenderTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/PropertiesRoutingAppenderTest.java @@ -58,6 +58,7 @@ public class PropertiesRoutingAppenderTest { @After public void tearDown() throws Exception { this.app.clear(); + this.init.getContext().stop(); } @Test http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/047565e8/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderTest.java index 6f1613a..85f704e 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderTest.java @@ -57,6 +57,7 @@ public class RoutingAppenderTest { @After public void tearDown() throws Exception { this.app.clear(); + this.init.getContext().stop(); } @Test http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/047565e8/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithPurgingTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithPurgingTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithPurgingTest.java index 49ffabe..9920690 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithPurgingTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingAppenderWithPurgingTest.java @@ -43,7 +43,7 @@ public class RoutingAppenderWithPurgingTest { private static final String MANUAL_LOG_FILE1 = "target/routing-purge-manual/routingtest-1.log"; private static final String MANUAL_LOG_FILE2 = "target/routing-purge-manual/routingtest-2.log"; private static final String MANUAL_LOG_FILE3 = "target/routing-purge-manual/routingtest-3.log"; - + private ListAppender app; private RoutingAppender routingAppenderIdle; @@ -54,9 +54,9 @@ public class RoutingAppenderWithPurgingTest { public LoggerContextRule init = new LoggerContextRule(CONFIG); @Rule - public CleanFiles files = new CleanFiles(IDLE_LOG_FILE1, IDLE_LOG_FILE2, IDLE_LOG_FILE3, + public CleanFiles files = new CleanFiles(IDLE_LOG_FILE1, IDLE_LOG_FILE2, IDLE_LOG_FILE3, MANUAL_LOG_FILE1, MANUAL_LOG_FILE2, MANUAL_LOG_FILE3); - + @Before public void setUp() throws Exception { @@ -70,6 +70,7 @@ public class RoutingAppenderWithPurgingTest { @After public void tearDown() throws Exception { this.app.clear(); + this.init.getContext().stop(); } @Test(timeout = 5000) @@ -85,7 +86,7 @@ public class RoutingAppenderWithPurgingTest { EventLogger.logEvent(msg); String[] files = {IDLE_LOG_FILE1, IDLE_LOG_FILE2, IDLE_LOG_FILE3, MANUAL_LOG_FILE1, MANUAL_LOG_FILE2, MANUAL_LOG_FILE3}; assertFileExistance(files); - + assertEquals("Incorrect number of appenders with IdlePurgePolicy.", 3, routingAppenderIdle.getAppenders().size()); assertEquals("Incorrect number of appenders with IdlePurgePolicy with HangingAppender.", 3, routingAppenderIdleWithHangingAppender.getAppenders().size()); @@ -96,7 +97,7 @@ public class RoutingAppenderWithPurgingTest { assertEquals("Incorrect number of appenders with IdlePurgePolicy.", 1, routingAppenderIdle.getAppenders().size()); assertEquals("Incorrect number of appenders with manual purge.", 3, routingAppenderManual.getAppenders().size()); - + routingAppenderManual.deleteAppender("1"); routingAppenderManual.deleteAppender("2"); routingAppenderManual.deleteAppender("3"); @@ -104,7 +105,7 @@ public class RoutingAppenderWithPurgingTest { assertEquals("Incorrect number of appenders with IdlePurgePolicy.", 1, routingAppenderIdle.getAppenders().size()); assertEquals("Incorrect number of appenders with manual purge.", 0, routingAppenderManual.getAppenders().size()); } - + private void assertFileExistance(String... files) { for (String file : files) { assertTrue("File should exist - " + file + " file ", new File(file).exists()); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/047565e8/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingDefaultAppenderTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingDefaultAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingDefaultAppenderTest.java index a84460c..44d52e0 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingDefaultAppenderTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/routing/RoutingDefaultAppenderTest.java @@ -56,6 +56,7 @@ public class RoutingDefaultAppenderTest { if (app != null) { app.clear(); } + this.init.getContext().stop(); } @Test http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/047565e8/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java b/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java index 36386af..6713aea 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java @@ -31,6 +31,7 @@ import static org.junit.Assert.*; * A JUnit test rule to automatically delete certain files after a test is run. */ public class CleanFiles extends ExternalResource { + private static final int MAX_TRIES = 10; private final List<File> files; public CleanFiles(final File... files) { @@ -46,11 +47,17 @@ public class CleanFiles extends ExternalResource { private void clean() { for (final File file : files) { - if (file.exists()) { + for (int i = 0; i < MAX_TRIES; i++) { + if (file.exists()) { + try { + FileSystems.getDefault().provider().delete(file.toPath()); + } catch (IOException e) { + fail(e.toString()); + } + } try { - FileSystems.getDefault().provider().delete(file.toPath()); - } catch (IOException e) { - fail(e.toString()); + Thread.sleep(200); + } catch (InterruptedException e) { } } }
