LOG4J2-1663 improve error reporting

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

Branch: refs/heads/LOG4J2-1661
Commit: eddedb730e3f2449a1f77d70e2e732b8e6e60313
Parents: 8cd9f55
Author: rpopma <[email protected]>
Authored: Sat Nov 5 23:35:00 2016 +0900
Committer: rpopma <[email protected]>
Committed: Sat Nov 5 23:35:00 2016 +0900

----------------------------------------------------------------------
 .../log4j/util/SortedArrayStringMapTest.java        | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/eddedb73/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java
 
b/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java
index 693bb5f..03d4951 100644
--- 
a/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java
+++ 
b/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java
@@ -16,11 +16,13 @@
  */
 package org.apache.logging.log4j.util;
 
+import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.lang.reflect.Field;
@@ -105,11 +107,21 @@ public class SortedArrayStringMapTest {
         }
         final Process process = new ProcessBuilder("java", "-cp",
                 createClassPath(SortedArrayStringMap.class, 
DeserializerHelper.class),
-                DeserializerHelper.class.getName(), 
file.getPath()).inheritIO().start();
+                DeserializerHelper.class.getName(), file.getPath()).start();
+        final BufferedReader in = new BufferedReader(new 
InputStreamReader(process.getErrorStream()));
         int exitValue = process.waitFor();
 
         file.delete();
-        assertEquals("no error", 0, exitValue);
+        if (exitValue != 0) {
+            final StringBuilder sb = new StringBuilder();
+            sb.append("DeserializerHelper exited with error code 
").append(exitValue);
+            sb.append(". Process output: ");
+            int c = -1;
+            while ((c = in.read()) != -1) {
+                sb.append((char) c);
+            }
+            fail(sb.toString());
+        }
     }
 
     private String createClassPath(Class<?>... classes) {

Reply via email to