Hi Peter, <OffTopic> Interestingly enough we are planning on pushing results back from the cucumber plugin to another system – so I wonder if there is some commonality that the plugin should expose rather than requiring many plugins parsing the same files. </OffTopic>
/James From: [email protected] [mailto:[email protected]] On Behalf Of Peter Hayes Sent: 21 January 2014 16:02 To: [email protected] Subject: Probable class loading issue / conflict between plugins Hi, I am writing a custom plugin to publish cucumber test results to a quality center database for internal reporting needs. To do so, I am using the cucumber-jvm gherkin library to process the test result file as was done in the cucumber-testresult-plugin. My code is working fine and processing the results but when I also installed the cucumber-testresult-plugin on my Jenkins instance and used that, I am seeing this error message when trying to display the test results: Status Code: 500 Exception: Stacktrace: java.lang.ClassCastException: gherkin.formatter.model.Tag cannot be cast to gherkin.formatter.model.Tag at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberTestResult.tally(CucumberTestResult.java:273) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberTestResultAction.load(CucumberTestResultAction.java:119) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberTestResultAction.getResult(CucumberTestResultAction.java:147) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberTestResultAction.getTarget(CucumberTestResultAction.java:174) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:610) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:776) at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:381) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:683) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:776) I believe this can happen when there are classloader consistency issues. I looked at the code for the cucumber-testresult-plugin and it is using the XStream2[1] class to load the serialized test results from the disk (in the load method above)[2] and then when it goes to process those results in the tally method[3], it blows up. Is there a potential issue in the way the XStream2 class is handling the classloading? I am running this on Jenkins 1.520 Thanks, Peter [1] https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/util/XStream2.java [2] https://github.com/jenkinsci/cucumber-testresult-plugin/blob/master/src/main/java/org/jenkinsci/plugins/cucumber/jsontestsupport/CucumberTestResultAction.java#L111 [3] https://github.com/jenkinsci/cucumber-testresult-plugin/blob/master/src/main/java/org/jenkinsci/plugins/cucumber/jsontestsupport/CucumberTestResult.java#L221 -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]<mailto:[email protected]>. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
