Updated Branches: refs/heads/master 93beca951 -> 6085acec2
o Improved junit3 support Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/6085acec Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/6085acec Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/6085acec Branch: refs/heads/master Commit: 6085acec29d8912786734bcc67d382a23d0ffc38 Parents: 93beca9 Author: Kristian Rosenvold <krosenv...@apache.org> Authored: Thu Dec 20 15:53:23 2012 +0100 Committer: Kristian Rosenvold <krosenv...@apache.org> Committed: Thu Dec 20 15:53:46 2012 +0100 ---------------------------------------------------------------------- .../surefire/report/SmartStackTraceParser.java | 15 ++++- .../surefire/report/SmartStackTraceParserTest.java | 45 +++++++++++++++ 2 files changed, 58 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6085acec/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java ---------------------------------------------------------------------- diff --git a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java index ebdfa40..754494f 100644 --- a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java +++ b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java @@ -111,7 +111,14 @@ public class SmartStackTraceParser result.deleteCharAt( result.length() - 1 ); result.deleteCharAt( result.length() - 1 ); - if ( throwable.getTarget() instanceof AssertionError ) + Throwable target = throwable.getTarget(); + if ( target instanceof AssertionError ) + { + result.append( " " ); + result.append( throwable.getMessage() ); + } + else if ( "junit.framework.AssertiponFailedError".equals( target.getClass().getName() ) + || "junit.framework.ComparisonFailure".equals( target.getClass().getName() ) ) { result.append( " " ); result.append( throwable.getMessage() ); @@ -119,7 +126,7 @@ public class SmartStackTraceParser else { result.append( rootIsInclass() ? " " : " » " ); - result.append( getMinimalThrowableMiniMessage( throwable.getTarget() ) ); + result.append( getMinimalThrowableMiniMessage( target ) ); result.append( getTruncatedMessage( 77 - result.length() ) ); } return result.toString(); @@ -182,6 +189,10 @@ public class SmartStackTraceParser private static boolean isInSupers( Class testClass, String lookFor ) { + if ( lookFor.startsWith( "junit.framework." ) ) + { + return false; + } while ( !testClass.getName().equals( lookFor ) && testClass.getSuperclass() != null ) { testClass = testClass.getSuperclass(); http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6085acec/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/SmartStackTraceParserTest.java ---------------------------------------------------------------------- diff --git a/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/SmartStackTraceParserTest.java b/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/SmartStackTraceParserTest.java index b8c6c0e..03dd5e4 100644 --- a/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/SmartStackTraceParserTest.java +++ b/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/SmartStackTraceParserTest.java @@ -21,8 +21,10 @@ package org.apache.maven.surefire.report; import java.util.List; import junit.framework.Assert; +import junit.framework.ComparisonFailure; import junit.framework.TestCase; +@SuppressWarnings( "ThrowableResultOfMethodCallIgnored" ) public class SmartStackTraceParserTest extends TestCase { @@ -129,6 +131,22 @@ public class SmartStackTraceParserTest } } + public void testClassThatWillFail() + throws Exception + { + CaseThatWillFail aTestClass = new CaseThatWillFail(); + try + { + aTestClass.testThatWillFail(); + } + catch ( ComparisonFailure e ) + { + SmartStackTraceParser smartStackTraceParser = new SmartStackTraceParser( CaseThatWillFail.class, e ); + String res = smartStackTraceParser.getString(); + assertEquals( "SmartStackTraceParserTest$CaseThatWillFail.testThatWillFail:170 expected:<abc> but was:<def>", res ); + } + } + static class ADifferen0tTestClass { static class InnerATestClass @@ -145,6 +163,15 @@ public class SmartStackTraceParserTest } } + static class CaseThatWillFail + extends TestCase + { + public void testThatWillFail() + { + assertEquals( "abc", "def" ); + } + } + static class TestClass2 { static class InnerCTestClass @@ -207,6 +234,16 @@ public class SmartStackTraceParserTest assertEquals( TestClass1.InnerBTestClass.class.getName(), outer.getClassName() ); } + public void testAssertionWithNoMessage(){ + try { + new AssertionNoMessage().testThrowSomething(); + } catch(ComparisonFailure e){ + SmartStackTraceParser smartStackTraceParser = new SmartStackTraceParser( AssertionNoMessage.class, e ); + String res = smartStackTraceParser.getString(); + assertEquals( "SmartStackTraceParserTest$AssertionNoMessage.testThrowSomething:270 expected:<abc> but was:<xyz>", res ); + } + } + public void testCollectorWithNested() { try @@ -226,5 +263,13 @@ public class SmartStackTraceParserTest } } + static class AssertionNoMessage + extends TestCase + { + public void testThrowSomething() + { + assertEquals( "abc", "xyz" ); + } + } }