Fitnesse tests with Surefire works locally but fail on TeamCity with org.apache.maven.lifecycle.LifecycleExecutionException

StackOverflow https://stackoverflow.com/questions/19640058

Question

We have a TeamCity build configuration which uses Maven Surefire to run a Fitnesse test suite. After a set of changes we are getting the following exception when trying to run this configuration:

[15:45:44][Step 2/2] [INFO] Final Memory: 45M/378M
[15:45:44][Step 2/2] [INFO] ------------------------------------------------------------------------
[15:45:44][Step 2/2] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test (default-test) on project acceptance-test: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test failed: java.lang.RuntimeException: null,null,null,null,null: source is null -> [Help 1]
[15:45:44][Step 2/2] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test (default-test) on project acceptance-test: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test failed: java.lang.RuntimeException: null,null,null,null,null
[15:45:44][Step 2/2]    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
[15:45:44][Step 2/2]    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
[15:45:44][Step 2/2]    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
[15:45:44][Step 2/2]    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
[15:45:44][Step 2/2]    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
[15:45:44][Step 2/2]    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
[15:45:44][Step 2/2]    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
[15:45:44][Step 2/2]    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
[15:45:44][Step 2/2]    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
[15:45:44][Step 2/2]    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
[15:45:44][Step 2/2]    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
[15:45:44][Step 2/2]    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
[15:45:44][Step 2/2]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[15:45:44][Step 2/2]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[15:45:44][Step 2/2]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[15:45:44][Step 2/2]    at java.lang.reflect.Method.invoke(Method.java:601)
[15:45:44][Step 2/2]    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
[15:45:44][Step 2/2]    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
[15:45:44][Step 2/2]    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
[15:45:44][Step 2/2]    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
[15:45:44][Step 2/2] Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test failed: java.lang.RuntimeException: null,null,null,null,null
[15:45:44][Step 2/2]    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
[15:45:44][Step 2/2]    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
[15:45:44][Step 2/2]    ... 19 more
[15:45:44][Step 2/2] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: null,null,null,null,null
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer.close(ThreadedStreamConsumer.java:123)
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:463)
[15:45:44][Step 2/2]    at  org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:352)
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:158)
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:958)
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:822)
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:720)
[15:45:44][Step 2/2]    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
[15:45:44][Step 2/2]    ... 20 more
[15:45:44][Step 2/2] Caused by: java.lang.RuntimeException: null,null,null,null,null
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.createReportEntry(ForkClient.java:210)
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:105)
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:67)
[15:45:44][Step 2/2]    at java.lang.Thread.run(Thread.java:722)
[15:45:44][Step 2/2] Caused by: java.lang.NullPointerException: source is null
[15:45:44][Step 2/2]    at org.apache.maven.surefire.report.SimpleReportEntry.<init>(SimpleReportEntry.java:58)
[15:45:44][Step 2/2]    at org.apache.maven.surefire.report.CategorizedReportEntry.reportEntry(CategorizedReportEntry.java:57)
[15:45:44][Step 2/2]    at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.createReportEntry(ForkClient.java:206)
[15:45:44][Step 2/2] ... 3 more

Does anyone know the likely cause of this exception? I am convinced that it is something to do with our code rather than the tools being used (because I can build a previous commit set fine), but the changes between the working build and the failing build shouldn't have any effect on this set of tests. In addition, running the same maven command locally (mvn clean package -U -X) against the commit which fails on TeamCity completes fine.

This exception was generated with the -X Maven flag - is there a way of getting even more detailed information about the exceptions caused?

We are using Maven 3.0.5 with Surefire Plugin 2.16

Était-ce utile?

La solution

If someone comes across this problem in the future, our issues were caused by tests which were failing. There appears to be an issue with Fitnesse's JUnit report integration that causes it to not generate the report file when tests fail.

Our failing tests, and the difficulties we saw with the tests working locally were caused by a misdocumented Oracle "feature" in Hibernate's integration with Oracle databases when using java.sql.Timestamp.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top