You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/09/26 14:29:51 UTC

incubator-juneau git commit: Improve debugging of testcase failures.

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 <ja...@apache.org>
Authored: Tue Sep 26 10:29:48 2017 -0400
Committer: JamesBognar <ja...@apache.org>
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();