Should we use a LoggerContextRule here? Gary ---------- Forwarded message ---------- From: <rpo...@apache.org> Date: Feb 23, 2016 9:48 AM Subject: [3/5] logging-log4j2 git commit: fix spuriously failing tests To: <comm...@logging.apache.org> Cc:
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/master > Commit: 047565e8928b0c9893c25ee92ffdf48dbcd6965c > Parents: 5fea6c4 > Author: rpopma <rpo...@apache.org> > Authored: Wed Feb 24 02:46:04 2016 +0900 > Committer: rpopma <rpo...@apache.org> > 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) { > } > } > } > >