[ 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