Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failsafe TestHTMLReporter parameter.toString #2830

Closed
1 of 7 tasks
seregamorph opened this issue Nov 10, 2022 · 0 comments · Fixed by #2831
Closed
1 of 7 tasks

Failsafe TestHTMLReporter parameter.toString #2830

seregamorph opened this issue Nov 10, 2022 · 0 comments · Fixed by #2831

Comments

@seregamorph
Copy link
Contributor

seregamorph commented Nov 10, 2022

TestNG Version

7.6.2-SNAPSHOT

Expected behavior

Failsafe TestHTMLReporter when parameter.toString() of test execution throws RuntimeException.

Actual behavior

TestHTMLReporter does not fail if test parameter toString method throws Exception. Sequentially it leads to maven build failure with non-clear diagnostics (missing full stacktrace, only message) like

[INFO] Results:
[INFO] 
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
...
build	10-Nov-2022 05:44:17	[INFO] ------------------------------------------------------------------------
build	10-Nov-2022 05:44:17	[INFO] BUILD FAILURE
build	10-Nov-2022 05:44:17	[INFO] ------------------------------------------------------------------------
build	10-Nov-2022 05:44:17	[INFO] Total time:  10:19 min (Wall Clock)
build	10-Nov-2022 05:44:17	[INFO] Finished at: 2022-11-10T05:44:17Z
build	10-Nov-2022 05:44:17	[INFO] ------------------------------------------------------------------------
build	10-Nov-2022 05:44:17	[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.22.2:verify (default-cli) on project users-integration-test: There are test failures.
build	10-Nov-2022 05:44:17	[ERROR] 
build	10-Nov-2022 05:44:17	[ERROR] Please refer to /home/bamboo/bamboo-agent-home/xml-data/build-dir/RTB-NRB22926-JOB10/server/general/users-integration-test/target/failsafe-reports for the individual test results.
build	10-Nov-2022 05:44:17	[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
build	10-Nov-2022 05:44:17	[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process
build	10-Nov-2022 05:44:17	[ERROR] game_type_id=10000006, model=Model [class=projects.pt.server.users.models.userid.UserIdModel, name=UserId, key=-4268742994815057915:UserId, id=145, serverOnly=true], field=PersistentFieldPersistentModelField[UserIdEntity UserIdModel.userIdEntity]
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:656)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:282)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1183)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1011)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:190)
build	10-Nov-2022 05:44:17	[ERROR] 	at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:186)
build	10-Nov-2022 05:44:17	[ERROR] 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
build	10-Nov-2022 05:44:17	[ERROR] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
build	10-Nov-2022 05:44:17	[ERROR] 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
build	10-Nov-2022 05:44:17	[ERROR] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
build	10-Nov-2022 05:44:17	[ERROR] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
build	10-Nov-2022 05:44:17	[ERROR] 	at java.base/java.lang.Thread.run(Thread.java:833)
build	10-Nov-2022 05:44:17	[ERROR] -> [Help 1]
build	10-Nov-2022 05:44:17	org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.22.2:verify (default-cli) on project users-integration-test: There are test failures.

The good thing is that failure can be found in target/failsafe-reports/*-jvmRun*.dump and there is stacktrace. But if test suite is executed on the CI/CD it can be problem to obtain it.
How it can happen: objects that are parameters of tests may have stateful toString() method (actually antipattern, but failsafe still makes sense to handle such failures).

Is the issue reproducible on runner?

  • Shell
  • Maven (with HTML reporting)
  • Gradle
  • Ant
  • Eclipse
  • IntelliJ
  • NetBeans

Test case sample

The PR with the proposed fix #2831

Contribution guidelines

Incase you plan to raise a pull request to fix this issue, please make sure you refer our Contributing section for detailed set of steps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant