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