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

Plugin fails with "Unmatched braces in the pattern" #38

Open
dmitry-timofeev opened this issue Mar 27, 2020 · 1 comment
Open

Plugin fails with "Unmatched braces in the pattern" #38

dmitry-timofeev opened this issue Mar 27, 2020 · 1 comment
Labels
bug Something isn't working

Comments

@dmitry-timofeev
Copy link

Hi @sormuras ,

Thanks for the plugin — it is wonderful it supports JUnit Platform features (selectors in particular), allowing to plug engines more easily! I bumped into the following issue:

Plugin fails with error "Unmatched braces in the pattern" if an exception is thrown that contains an opening curly brace.

The simplest reproducing test:

  @Test
  void throwingMethod() {
    throw new RuntimeException(""
        + "{\n"
        + "}\n");
  }

The error message:

[WARNING] [WORKER]   JUnit Jupiter:JavadocTestEngineTest:throwingMethod()
[WARNING] [WORKER]     MethodSource [className = javadoctest.engine.JavadocTestEngineTest, methodName = throwingMethod, methodParameterTypes = ']
[ERROR] Calling worker failed: Unmatched braces in the pattern.
Full stack-trace (when run in debug mode `-X`):
[ERROR] Failed to execute goal de.sormuras.junit:junit-platform-maven-plugin:1.0.0-M5:launch (run-doc-tests) on project javadoc-test-junit-platform-engine: Execution failed!: java.lang.RuntimeException: Calling worker failed! Unmatched braces in the pattern. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal de.sormuras.junit:junit-platform-maven-plugin:1.0.0-M5:launch (run-doc-tests) on project javadoc-test-junit-platform-engine: Execution failed!
    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:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    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:567)
    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.MojoExecutionException: Execution failed!
    at de.sormuras.junit.platform.maven.plugin.JUnitPlatformMojo.executeDirect (JUnitPlatformMojo.java:441)
    at de.sormuras.junit.platform.maven.plugin.JUnitPlatformMojo.execute (JUnitPlatformMojo.java:424)
    at de.sormuras.junit.platform.maven.plugin.JUnitPlatformMojo.execute (JUnitPlatformMojo.java:411)
    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:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    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:567)
    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.util.concurrent.ExecutionException: java.lang.RuntimeException: Calling worker failed!
    at java.util.concurrent.FutureTask.report (FutureTask.java:122)
    at java.util.concurrent.FutureTask.get (FutureTask.java:205)
    at de.sormuras.junit.platform.maven.plugin.JUnitPlatformMojo.executeDirect (JUnitPlatformMojo.java:436)
    at de.sormuras.junit.platform.maven.plugin.JUnitPlatformMojo.execute (JUnitPlatformMojo.java:424)
    at de.sormuras.junit.platform.maven.plugin.JUnitPlatformMojo.execute (JUnitPlatformMojo.java:411)
    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:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    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:567)
    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.RuntimeException: Calling worker failed!
    at de.sormuras.junit.platform.isolator.Isolator.evaluate (Isolator.java:87)
    at de.sormuras.junit.platform.maven.plugin.JUnitPlatformMojo.lambda$executeDirect$7 (JUnitPlatformMojo.java:434)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:830)
Caused by: java.lang.IllegalArgumentException: Unmatched braces in the pattern.
    at java.text.MessageFormat.applyPattern (MessageFormat.java:520)
    at java.text.MessageFormat.<init> (MessageFormat.java:370)
    at java.text.MessageFormat.format (MessageFormat.java:859)
    at de.sormuras.junit.platform.isolator.worker.Worker.warn (Worker.java:54)
    at de.sormuras.junit.platform.isolator.worker.Worker.lambda$call$0 (Worker.java:118)
    at java.util.Arrays$ArrayList.forEach (Arrays.java:4411)
    at de.sormuras.junit.platform.isolator.worker.Worker.call (Worker.java:118)
    at de.sormuras.junit.platform.isolator.worker.Worker.call (Worker.java:28)
    at de.sormuras.junit.platform.isolator.Isolator.evaluate (Isolator.java:84)
    at de.sormuras.junit.platform.maven.plugin.JUnitPlatformMojo.lambda$executeDirect$7 (JUnitPlatformMojo.java:434)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:830)

It seems the message will be truncated (and cause an error) once an opening curly brace occurs.


Plugin version: 1.0.0-M5
Maven: 3.6.3
JDK: OpenJDK 13

@sormuras
Copy link
Owner

@sormuras sormuras added the bug Something isn't working label Mar 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants