CAMEL-10409 Polish the BaseNettyTest to write some useful information of memory 
leak


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f5dccb88
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f5dccb88
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f5dccb88

Branch: refs/heads/master
Commit: f5dccb88037dbfc0dcb167afde122538ad6c6e68
Parents: e56cc97
Author: Willem Jiang <willem.ji...@gmail.com>
Authored: Tue Nov 15 17:01:26 2016 +0800
Committer: Willem Jiang <willem.ji...@gmail.com>
Committed: Tue Nov 15 17:06:46 2016 +0800

----------------------------------------------------------------------
 .../apache/camel/component/netty4/http/BaseNettyTest.java   | 9 +++++++++
 .../org/apache/camel/component/netty4/BaseNettyTest.java    | 9 +++++++++
 2 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/f5dccb88/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/BaseNettyTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/BaseNettyTest.java
 
b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/BaseNettyTest.java
index 75916e5..92788f9 100644
--- 
a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/BaseNettyTest.java
+++ 
b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/BaseNettyTest.java
@@ -33,11 +33,15 @@ import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.logging.log4j.core.LogEvent;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  *
  */
 public class BaseNettyTest extends CamelTestSupport {
+    protected static final Logger LOG = 
LoggerFactory.getLogger(BaseNettyTest.class);
+
     private static volatile int port;
 
     @BeforeClass
@@ -73,6 +77,7 @@ public class BaseNettyTest extends CamelTestSupport {
     @BeforeClass
     public static void startLeakDetection() {
         System.setProperty("io.netty.leakDetection.maxRecords", "100");
+        System.setProperty("io.netty.leakDetection.acquireAndReleaseOnly", 
"true");
         ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.PARANOID);
     }
 
@@ -85,6 +90,10 @@ public class BaseNettyTest extends CamelTestSupport {
         Collection<LogEvent> events = LogCaptureAppender.getEvents();
         if (!events.isEmpty()) {
             String message = "Leaks detected while running tests: " + events;
+            // Just write the message into log to help debug
+            for(LogEvent event: events) {
+                LOG.info(event.getMessage().getFormattedMessage());
+            }
             LogCaptureAppender.reset();
             throw new AssertionError(message);
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/f5dccb88/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/BaseNettyTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/BaseNettyTest.java
 
b/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/BaseNettyTest.java
index aeb5378..3bd1431 100644
--- 
a/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/BaseNettyTest.java
+++ 
b/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/BaseNettyTest.java
@@ -30,6 +30,8 @@ import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.logging.log4j.core.LogEvent;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import io.netty.buffer.ByteBufAllocator;
 import io.netty.util.ResourceLeakDetector;
@@ -38,6 +40,8 @@ import io.netty.util.ResourceLeakDetector;
  *
  */
 public class BaseNettyTest extends CamelTestSupport {
+    protected static final Logger LOG = 
LoggerFactory.getLogger(BaseNettyTest.class);
+
     private static volatile int port;
 
     @BeforeClass
@@ -73,6 +77,7 @@ public class BaseNettyTest extends CamelTestSupport {
     @BeforeClass
     public static void startLeakDetection() {
         System.setProperty("io.netty.leakDetection.maxRecords", "100");
+        System.setProperty("io.netty.leakDetection.acquireAndReleaseOnly", 
"true");
         ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.PARANOID);
     }
 
@@ -85,6 +90,10 @@ public class BaseNettyTest extends CamelTestSupport {
         Collection<LogEvent> events = LogCaptureAppender.getEvents();
         if (!events.isEmpty()) {
             String message = "Leaks detected while running tests: " + events;
+            // Just write the message into log to help debug
+            for(LogEvent event: events) {
+                LOG.info(event.getMessage().getFormattedMessage());
+            }
             LogCaptureAppender.reset();
             throw new AssertionError(message);
         }

Reply via email to