[ https://issues.apache.org/jira/browse/SUREFIRE-1662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17777918#comment-17777918 ]
Michael Osipov commented on SUREFIRE-1662: ------------------------------------------ Is this still an issue? If yes, provide the simplest reproducer and I will take a look. > Invalid content of .surefire-XXXXXXXXX statistic file when parameters contain > new line > -------------------------------------------------------------------------------------- > > Key: SUREFIRE-1662 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1662 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Surefire Plugin > Affects Versions: 3.0.0-M3 > Reporter: Ondrej Lukas > Priority: Major > > In case when _@Parameters_ contains any new line ("_\n_") then created > _.surefire-XXXXXXXXX_ statistic file is invalid because new line is not > escaped in that file. > It causes that tests can be run only once. Exception like this is thrown > during second run: > {code} > Execution default-test of goal > org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test failed: > java.lang.NumberFormatException: For input string: > "NewLine](com.example.SomeTest)" > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:215) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:156) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:148) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:117) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:81) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:56) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:128) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:62) > at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke (Method.java:566) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:282) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:225) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:347) > Caused by: org.apache.maven.plugin.PluginExecutionException: Execution > default-test of goal > org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test failed: > java.lang.NumberFormatException: For input string: > "NewLine](com.example.SomeTest)" > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:148) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:210) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:156) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:148) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:117) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:81) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:56) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:128) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:62) > at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke (Method.java:566) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:282) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:225) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:347) > Caused by: org.apache.maven.surefire.util.SurefireReflectionException: > java.lang.NumberFormatException: For input string: > "NewLine](com.example.SomeTest)" > at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray > (ReflectionUtils.java:177) > at org.apache.maven.surefire.util.ReflectionUtils.invokeGetter > (ReflectionUtils.java:76) > at org.apache.maven.surefire.util.ReflectionUtils.invokeGetter > (ReflectionUtils.java:70) > at > org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.getSuites > (ProviderFactory.java:145) > at > org.apache.maven.plugin.surefire.booterclient.ForkStarter.getSuitesIterator > (ForkStarter.java:698) > at > org.apache.maven.plugin.surefire.booterclient.ForkStarter.runSuitesForkOnceMultiple > (ForkStarter.java:323) > at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run > (ForkStarter.java:298) > at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run > (ForkStarter.java:247) > at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider > (AbstractSurefireMojo.java:1161) > at > org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked > (AbstractSurefireMojo.java:1002) > at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute > (AbstractSurefireMojo.java:848) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:137) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:210) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:156) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:148) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:117) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:81) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:56) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:128) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:62) > at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke (Method.java:566) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:282) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:225) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:347) > Caused by: java.lang.NumberFormatException: For input string: > "NewLine](com.example.SomeTest)" > at java.lang.NumberFormatException.forInputString > (NumberFormatException.java:65) > at java.lang.Integer.parseInt (Integer.java:652) > at java.lang.Integer.parseInt (Integer.java:770) > at > org.apache.maven.plugin.surefire.runorder.RunEntryStatistics.fromString > (RunEntryStatistics.java:82) > at > org.apache.maven.plugin.surefire.runorder.RunEntryStatisticsMap.fromReader > (RunEntryStatisticsMap.java:92) > at > org.apache.maven.plugin.surefire.runorder.RunEntryStatisticsMap.fromFile > (RunEntryStatisticsMap.java:69) > at > org.apache.maven.surefire.util.DefaultRunOrderCalculator.orderTestClasses > (DefaultRunOrderCalculator.java:79) > at > org.apache.maven.surefire.util.DefaultRunOrderCalculator.orderTestClasses > (DefaultRunOrderCalculator.java:67) > at org.apache.maven.surefire.junitcore.JUnitCoreProvider.scanClassPath > (JUnitCoreProvider.java:294) > at org.apache.maven.surefire.junitcore.JUnitCoreProvider.getSuites > (JUnitCoreProvider.java:108) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:62) > at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke (Method.java:566) > at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray > (ReflectionUtils.java:169) > at org.apache.maven.surefire.util.ReflectionUtils.invokeGetter > (ReflectionUtils.java:76) > at org.apache.maven.surefire.util.ReflectionUtils.invokeGetter > (ReflectionUtils.java:70) > at > org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.getSuites > (ProviderFactory.java:145) > at > org.apache.maven.plugin.surefire.booterclient.ForkStarter.getSuitesIterator > (ForkStarter.java:698) > at > org.apache.maven.plugin.surefire.booterclient.ForkStarter.runSuitesForkOnceMultiple > (ForkStarter.java:323) > at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run > (ForkStarter.java:298) > at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run > (ForkStarter.java:247) > at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider > (AbstractSurefireMojo.java:1161) > at > org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked > (AbstractSurefireMojo.java:1002) > at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute > (AbstractSurefireMojo.java:848) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:137) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:210) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:156) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:148) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:117) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:81) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:56) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:128) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:62) > at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke (Method.java:566) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:282) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:225) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:347) > {code} > *How to reproduce:* > Use following `@Parameters` in some test: > {code:java} > @Parameters(name = "mode={0}") > public static Collection<Object> parameters() { > return asList("somethingWith\nNewLine", "something"); > } > {code} > It will result to file where two lines are printed instead of one: > {code:java} > 1,0,testSomething[mode=somethingWith > NewLine](com.example.SomeTest) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)