[ 
http://jira.codehaus.org/browse/SUREFIRE-42?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kenney Westerhof updated SUREFIRE-42:
-------------------------------------

    Description: 
I'm running test cases that extend our own custom base test case. If one of the 
tests fails, Surefire itself fails: 
org.apache.maven.surefire.booter.SurefireExecutionException: 
com.cerner.system.util.CalendarsTest; nested exception is 
java.lang.reflect.UndeclaredThrowableException: null; nested exception is 
org.apache.maven.surefire.testset.TestSetFailedException: 
com.cerner.system.util.CalendarsTest; nested exception is 
java.lang.reflect.UndeclaredThrowableException: null
org.apache.maven.surefire.testset.TestSetFailedException: 
com.cerner.system.util.CalendarsTest; nested exception is 
java.lang.reflect.UndeclaredThrowableException: null
java.lang.reflect.UndeclaredThrowableException
at $Proxy0.addError(Unknown Source)
at junit.framework.TestResult.addError(TestResult.java:36)
...
Caused by: java.lang.NoSuchMethodException: 
com.cerner.junit.madhatter.classreloader.ReloadedTestCaseDecorator.getName()
at java.lang.Class.getMethod(Class.java:986)
at 
org.apache.maven.surefire.junit.TestListenerInvocationHandler.getStackTraceWriter(TestListenerInvocationHandler.java:171)
at 
org.apache.maven.surefire.junit.TestListenerInvocationHandler.handleAddError(TestListenerInvocationHandler.java:160)
at 
org.apache.maven.surefire.junit.TestListenerInvocationHandler.invoke(TestListenerInvocationHandler.java:134)
... 23 more 
At TestListenerInvocationHandler:171, I see that it's trying to reflect to a 
method called getName(). This seems like a very poor assumption, given that 
nothing on the Test or TestListener interfaces guarantees that there'll be a 
method called getName(). At the very least, shouldn't the NoSuchMethodException 
be caught and handled somewhere? See: 
http://www.junit.org/junit/javadoc/3.8.1/index.htm

  was:
I'm running test cases that extend our own custom base test case. If one of the 
tests fails, Surefire itself fails:

org.apache.maven.surefire.booter.SurefireExecutionException: 
com.cerner.system.util.CalendarsTest; nested exception is 
java.lang.reflect.UndeclaredThrowableException: null; nested exception is 
org.apache.maven.surefire.testset.TestSetFailedException: 
com.cerner.system.util.CalendarsTest; nested exception is 
java.lang.reflect.UndeclaredThrowableException: null
org.apache.maven.surefire.testset.TestSetFailedException: 
com.cerner.system.util.CalendarsTest; nested exception is 
java.lang.reflect.UndeclaredThrowableException: null
java.lang.reflect.UndeclaredThrowableException
        at $Proxy0.addError(Unknown Source)
        at junit.framework.TestResult.addError(TestResult.java:36)
...
Caused by: java.lang.NoSuchMethodException: 
com.cerner.junit.madhatter.classreloader.ReloadedTestCaseDecorator.getName()
        at java.lang.Class.getMethod(Class.java:986)
        at 
org.apache.maven.surefire.junit.TestListenerInvocationHandler.getStackTraceWriter(TestListenerInvocationHandler.java:171)
        at 
org.apache.maven.surefire.junit.TestListenerInvocationHandler.handleAddError(TestListenerInvocationHandler.java:160)
        at 
org.apache.maven.surefire.junit.TestListenerInvocationHandler.invoke(TestListenerInvocationHandler.java:134)
        ... 23 more

At TestListenerInvocationHandler:171, I see that it's trying to reflect to a 
method called getName(). This seems like a very poor assumption, given that 
nothing on the Test or TestListener interfaces guarantees that there'll be a 
method called getName(). At the very least, shouldn't the NoSuchMethodException 
be caught and handled somewhere? See: 
http://www.junit.org/junit/javadoc/3.8.1/index.htm

     Complexity:   (was: Intermediate)

I think I already fixed this bug a while ago; is it still a problem?

> TestListenerInvocationHandler incorrectly assumes getName()
> -----------------------------------------------------------
>
>                 Key: SUREFIRE-42
>                 URL: http://jira.codehaus.org/browse/SUREFIRE-42
>             Project: Maven Surefire
>          Issue Type: Bug
>    Affects Versions: 2.0 (2.2 plugin)
>            Reporter: Matthew Beermann
>             Fix For: 2.4
>
>         Attachments: patch.txt, SUREFIRE-42-surefire-junit.patch
>
>
> I'm running test cases that extend our own custom base test case. If one of 
> the tests fails, Surefire itself fails: 
> org.apache.maven.surefire.booter.SurefireExecutionException: 
> com.cerner.system.util.CalendarsTest; nested exception is 
> java.lang.reflect.UndeclaredThrowableException: null; nested exception is 
> org.apache.maven.surefire.testset.TestSetFailedException: 
> com.cerner.system.util.CalendarsTest; nested exception is 
> java.lang.reflect.UndeclaredThrowableException: null
> org.apache.maven.surefire.testset.TestSetFailedException: 
> com.cerner.system.util.CalendarsTest; nested exception is 
> java.lang.reflect.UndeclaredThrowableException: null
> java.lang.reflect.UndeclaredThrowableException
> at $Proxy0.addError(Unknown Source)
> at junit.framework.TestResult.addError(TestResult.java:36)
> ...
> Caused by: java.lang.NoSuchMethodException: 
> com.cerner.junit.madhatter.classreloader.ReloadedTestCaseDecorator.getName()
> at java.lang.Class.getMethod(Class.java:986)
> at 
> org.apache.maven.surefire.junit.TestListenerInvocationHandler.getStackTraceWriter(TestListenerInvocationHandler.java:171)
> at 
> org.apache.maven.surefire.junit.TestListenerInvocationHandler.handleAddError(TestListenerInvocationHandler.java:160)
> at 
> org.apache.maven.surefire.junit.TestListenerInvocationHandler.invoke(TestListenerInvocationHandler.java:134)
> ... 23 more 
> At TestListenerInvocationHandler:171, I see that it's trying to reflect to a 
> method called getName(). This seems like a very poor assumption, given that 
> nothing on the Test or TestListener interfaces guarantees that there'll be a 
> method called getName(). At the very least, shouldn't the 
> NoSuchMethodException be caught and handled somewhere? See: 
> http://www.junit.org/junit/javadoc/3.8.1/index.htm

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to