Repository: incubator-juneau
Updated Branches:
  refs/heads/master e4533bfaf -> 42fc6e843


Improve debugging of testcase failures.

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/42fc6e84
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/42fc6e84
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/42fc6e84

Branch: refs/heads/master
Commit: 42fc6e843aacf42905350723487fc5893868c5be
Parents: e4533bf
Author: JamesBognar <[email protected]>
Authored: Tue Sep 26 10:29:48 2017 -0400
Committer: JamesBognar <[email protected]>
Committed: Tue Sep 26 10:29:48 2017 -0400

----------------------------------------------------------------------
 .../juneau/rest/test/TestMicroservice.java      | 32 ++++++++++++++++----
 .../juneau/rest/test/ThirdPartyProxyTest.java   |  2 +-
 2 files changed, 27 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/42fc6e84/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
----------------------------------------------------------------------
diff --git 
a/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
 
b/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
index bf400db..6d2f4fd 100644
--- 
a/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
+++ 
b/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
@@ -19,6 +19,7 @@ import java.util.*;
 
 import javax.net.ssl.*;
 
+import org.apache.http.*;
 import org.apache.http.client.*;
 import org.apache.http.conn.ssl.*;
 import org.apache.http.impl.client.*;
@@ -99,6 +100,8 @@ public class TestMicroservice {
         */
        public static RestClientBuilder client() {
                try {
+                       final RequestLine[] currentRequest = new RequestLine[1];
+                       final StatusLine[] currentResponse = new StatusLine[1];
                        return new RestClientBuilder()
                                .rootUrl(microserviceURI)
                                .setRetryHandler(
@@ -106,13 +109,23 @@ public class TestMicroservice {
                                                @Override
                                                public boolean 
retryRequest(IOException exception, int executionCount, HttpContext context) {
                                                        System.err.println("*** 
ERROR ***");
-                                                       
TestMicroservice.jettyDump();
-                                                       microservice.stop();
-                                                       System.exit(2);
-                                                       return (executionCount 
< 10);
+                                                       
TestMicroservice.jettyDump(currentRequest[0], currentResponse[0]);
+                                                       return (executionCount 
< 3);
                                                }
                                        }
                                )
+                               .addInterceptorFirst(new 
org.apache.http.HttpRequestInterceptor() {
+                                       @Override
+                                       public void process(HttpRequest r, 
HttpContext c) throws HttpException, IOException {
+                                               currentRequest[0] = 
r.getRequestLine();
+                                       }
+                               })
+                               .addInterceptorFirst(new 
org.apache.http.HttpResponseInterceptor() {
+                                       @Override
+                                       public void process(HttpResponse r, 
HttpContext c) throws HttpException, IOException {
+                                               currentResponse[0] = 
r.getStatusLine();
+                                       }
+                               })
                                .noTrace()
                        ;
                } catch (Exception e) {
@@ -150,10 +163,17 @@ public class TestMicroservice {
                }
        }
 
-       public static void jettyDump() {
+       private static int dumpCount = 0;
+
+       public static void jettyDump(RequestLine rl, StatusLine sl) {
                try {
                        String dump = microservice.getServer().dump();
-                       IOUtils.pipe(dump, new 
FileWriter(microservice.getConfig().getString("Logging/logDir") + 
"/jetty-thread-dump.log"));
+                       FileWriter fw = new 
FileWriter(microservice.getConfig().getString("Logging/logDir") + 
"/jetty-thread-dump-"+(dumpCount++)+".log");
+                       fw.append("RequestLine = [" + rl + "]\n");
+                       fw.append("StatusLine = [" + sl + "]\n");
+                       IOUtils.pipe(dump, fw);
+                       fw.flush();
+                       fw.close();
                } catch (Exception e) {
                        e.printStackTrace();
                }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/42fc6e84/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ThirdPartyProxyTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ThirdPartyProxyTest.java
 
b/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ThirdPartyProxyTest.java
index 8915366..f8259c7 100644
--- 
a/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ThirdPartyProxyTest.java
+++ 
b/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ThirdPartyProxyTest.java
@@ -82,7 +82,7 @@ public class ThirdPartyProxyTest extends RestTestcase {
                                if (System.currentTimeMillis() - time.get() > 
10000) {
                                        try {
                                                System.err.println("Failed at 
iteration " + iteration.get());
-                                               TestMicroservice.jettyDump();
+                                               
TestMicroservice.jettyDump(null, null);
                                                System.exit(2);
                                        } catch (Exception e) {
                                                e.printStackTrace();

Reply via email to