You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2017/08/15 16:01:28 UTC
qpid-broker-j git commit: NO-JIRA: Add extra debug logging to
investigate the test failures
Repository: qpid-broker-j
Updated Branches:
refs/heads/master e91c35925 -> 06a67d590
NO-JIRA: Add extra debug logging to investigate the test failures
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/06a67d59
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/06a67d59
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/06a67d59
Branch: refs/heads/master
Commit: 06a67d590d45fbf5e760352b941e59c8624b92c2
Parents: e91c359
Author: Alex Rudyy <or...@apache.org>
Authored: Tue Aug 15 16:49:41 2017 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Tue Aug 15 17:01:07 2017 +0100
----------------------------------------------------------------------
.../logback/RollingPolicyDecoratorTest.java | 73 +++++++++++++++++++-
.../apache/qpid/test/utils/TestFileUtils.java | 6 +-
2 files changed, 77 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/06a67d59/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java
----------------------------------------------------------------------
diff --git a/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java b/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java
index 6737f4f..35a7590 100644
--- a/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java
+++ b/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/RollingPolicyDecoratorTest.java
@@ -31,10 +31,17 @@ import static org.mockito.Mockito.when;
import java.io.File;
import java.io.IOException;
+import java.nio.file.FileVisitResult;
+import java.nio.file.FileVisitor;
+import java.nio.file.Files;
import java.nio.file.Path;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
+import java.util.regex.Pattern;
import ch.qos.logback.core.Context;
@@ -43,19 +50,26 @@ import ch.qos.logback.core.rolling.RollingPolicyBase;
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.test.utils.TestFileUtils;
import org.apache.qpid.server.util.FileUtils;
+
+import ch.qos.logback.core.rolling.helper.FileNamePattern;
import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class RollingPolicyDecoratorTest extends QpidTestCase
{
+ private static final Logger LOGGER = LoggerFactory.getLogger(RollingPolicyDecoratorTest.class);
+
private RollingPolicyBase _delegate;
private RollingPolicyDecorator _policy;
private RollingPolicyDecorator.RolloverListener _listener;
private File _baseFolder;
private File _testFile;
+ private Pattern _rolledFileRegExp;
@Override
public void setUp() throws Exception
@@ -66,11 +80,16 @@ public class RollingPolicyDecoratorTest extends QpidTestCase
_testFile = createTestFile("test.2015-06-25.0.gz");
Context mockContext = mock(Context.class);
_delegate = mock(RollingPolicyBase.class);
- when(_delegate.getFileNamePattern()).thenReturn( _baseFolder + File.separator + "test.%d{yyyy-MM-dd}.%i.gz");
+ String fileNamePattern = _baseFolder.getAbsolutePath() + "/" + "test.%d{yyyy-MM-dd}.%i.gz";
+ when(_delegate.getFileNamePattern()).thenReturn(fileNamePattern);
when(_delegate.getContext()).thenReturn(mockContext);
_listener = mock(RollingPolicyDecorator.RolloverListener.class);
_policy = new RollingPolicyDecorator(_delegate, _listener, createMockExecutorService());
+
+ _rolledFileRegExp = Pattern.compile(new FileNamePattern(fileNamePattern, mockContext).toRegex());
+
+ LOGGER.debug("Rolled file reg exp: {} ", _rolledFileRegExp);
}
@Override
@@ -147,6 +166,8 @@ public class RollingPolicyDecoratorTest extends QpidTestCase
_policy.rollover();
verify(_delegate).rollover();
+ scan(_baseFolder);
+
Matcher<String[]> matcher = getMatcher(new String[]{ _testFile.getName() });
verify(_listener).onRollover(eq(_baseFolder.toPath()), argThat(matcher));
@@ -157,6 +178,56 @@ public class RollingPolicyDecoratorTest extends QpidTestCase
verify(_listener).onRollover(eq(_baseFolder.toPath()), argThat(matcher2));
}
+ private void scan(final File baseFolder)
+ {
+ final List<Path> rolledFiles = new ArrayList<>();
+ try
+ {
+ Files.walkFileTree(baseFolder.toPath(), new FileVisitor<Path>()
+ {
+ @Override
+ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs)
+ {
+ return FileVisitResult.CONTINUE;
+ }
+
+ @Override
+ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
+ {
+ String absolutePath = file.toAbsolutePath().toString();
+ LOGGER.debug("Visiting file: {} ", absolutePath);
+ if (File.separatorChar == '\\')
+ {
+ absolutePath = absolutePath.replace('\\', '/');
+ }
+
+ if (_rolledFileRegExp.matcher(absolutePath).matches())
+ {
+ rolledFiles.add(file);
+ }
+ return FileVisitResult.CONTINUE;
+ }
+
+ @Override
+ public FileVisitResult visitFileFailed(Path file, IOException exc)
+ {
+ return FileVisitResult.CONTINUE;
+ }
+
+ @Override
+ public FileVisitResult postVisitDirectory(Path dir, IOException exc)
+ {
+ return FileVisitResult.CONTINUE;
+ }
+ });
+ }
+ catch(IOException e)
+ {
+ LOGGER.warn("Unexpected IOException while scanning for rollover files.", e);
+ }
+ LOGGER.debug("Rolled files: {}", rolledFiles);
+ }
+
private Matcher<String[]> getMatcher(final String[] expected)
{
return new BaseMatcher<String[]>()
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/06a67d59/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/TestFileUtils.java
----------------------------------------------------------------------
diff --git a/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/TestFileUtils.java b/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/TestFileUtils.java
index 0023103..eeda839 100644
--- a/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/TestFileUtils.java
+++ b/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/TestFileUtils.java
@@ -84,7 +84,11 @@ public class TestFileUtils
}
catch (IOException e)
{
- throw new RuntimeException("Cannot create temporary file with prefix " + prefix + " and suffix " + SUFFIX, e);
+ throw new RuntimeException(String.format(
+ "Cannot create temporary file with prefix '%s' and suffix '%s'. ${java.io.tmpdir}='%s'",
+ prefix,
+ suffix,
+ System.getProperty("java.io.tmpdir")), e);
}
return tmpFile;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org