[SUREFIRE-1322] - Surefire and Failsafe should dump critical errors in dump file and console
Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/4d3673c4 Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/4d3673c4 Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/4d3673c4 Branch: refs/heads/master Commit: 4d3673c42e2af75c22f3abbaa2a0237a5c25e0ce Parents: b50ea3a Author: Tibor17 <[email protected]> Authored: Sun Jan 8 00:22:48 2017 +0100 Committer: Tibor17 <[email protected]> Committed: Sun Jan 8 00:22:48 2017 +0100 ---------------------------------------------------------------------- .../apache/maven/surefire/booter/CommandReader.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4d3673c4/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java ---------------------------------------------------------------------- diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java index 3990d46..3f24a1b 100644 --- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java +++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java @@ -377,7 +377,7 @@ public final class CommandReader if ( command == null ) { String errorMessage = "[SUREFIRE] std/in stream corrupted: first sequence not recognized"; - DumpErrorSingleton.getSingleton().dumpText( errorMessage ); + DumpErrorSingleton.getSingleton().dumpStreamText( errorMessage ); logger.error( errorMessage ); break; } @@ -414,24 +414,27 @@ public final class CommandReader } catch ( EOFException e ) { - DumpErrorSingleton.getSingleton().dumpException( e ); - CommandReader.this.state.set( TERMINATED ); if ( !isTestSetFinished ) { + String msg = "TestSet has not finished before stream error has appeared >> " + + "initializing exit by non-null configuration: " + + CommandReader.this.shutdown; + DumpErrorSingleton.getSingleton().dumpStreamException( e, msg ); + exitByConfiguration(); // does not go to finally } } catch ( IOException e ) { - DumpErrorSingleton.getSingleton().dumpException( e ); - CommandReader.this.state.set( TERMINATED ); // If #stop() method is called, reader thread is interrupted and cause is InterruptedException. if ( !( e.getCause() instanceof InterruptedException ) ) { - logger.error( "[SUREFIRE] std/in stream corrupted", e ); + String msg = "[SUREFIRE] std/in stream corrupted"; + DumpErrorSingleton.getSingleton().dumpStreamException( e, msg ); + logger.error( msg, e ); } } finally
