[ 
https://issues.apache.org/jira/browse/GROOVY-12425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18118960#comment-18118960
 ] 

ASF GitHub Bot commented on GROOVY-12425:
-----------------------------------------

testlens-app[bot] commented on PR #2944:
URL: https://github.com/apache/groovy/pull/2944#issuecomment-5822880700

   ## 🚨 TestLens detected 1 failed test 🚨
   
   Here is what you can do:
   
   1) Inspect the test failures carefully.
   2) If you are convinced that some of the tests are flaky, you can mute them 
below.
   3) Finally, trigger a rerun by checking the rerun checkbox.
   
   ### Test Summary
   
   #### [Build and test / lts \(17, 
macos-latest\)](https://github.com/apache/groovy/actions/runs/36062088155/job/107843177975?pr=2944)
 > :test
   
   | Test | Runs | Flakiness |
   |---|---|--:|
   | ParallelCollectionTest > testEachParallelRunsConcurrently\(\) | ❌ | 
0% 🟢 |
   
   🏷️ Commit: 363cb9dc42a49e7a39b89567d0fef284998087bd
   ▶️ Tests:  75736 executed
   🟡 Checks: 9/30 completed
   
   ### Test Failures
   
   <details><summary><strong>ParallelCollectionTest > 
testEachParallelRunsConcurrently()</strong> (:test in <a 
href="https://github.com/apache/groovy/actions/runs/36062088155/job/107843177975?pr=2944";>Build
 and test / lts (17, macos-latest)</a>)</summary>
   
   ```
   java.lang.reflect.UndeclaredThrowableException
        at 
java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
        at 
java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
        at 
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
        at 
java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:540)
        at 
java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:567)
        at 
java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:653)
        at 
org.codehaus.groovy.runtime.ParallelCollectionExtensions.lambda$eachParallel$1(ParallelCollectionExtensions.java:87)
        at 
org.codehaus.groovy.runtime.ParallelCollectionExtensions.withCurrentFJP(ParallelCollectionExtensions.java:298)
        at 
org.codehaus.groovy.runtime.ParallelCollectionExtensions.eachParallel(ParallelCollectionExtensions.java:86)
        at TestScript104$_run_closure1.doCall(TestScript104.groovy:13)
        at groovy.lang.Closure.invokeHandle(Closure.java:647)
        at groovy.lang.Closure.invokeCached(Closure.java:618)
        at groovy.lang.Closure.call(Closure.java:584)
        at 
org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:55)
        at 
org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:115)
        at jdk.proxy2/jdk.proxy2.$Proxy52.apply(Unknown Source)
        at groovy.concurrent.AsyncScope.lambda$withScope$0(AsyncScope.java:167)
        at 
org.apache.groovy.runtime.async.ScopedLocal$Carrier.lambda$call$0(ScopedLocal.java:320)
        at 
org.apache.groovy.runtime.async.ScopedLocal$ThreadLocalImpl.bind(ScopedLocal.java:428)
        at 
org.apache.groovy.runtime.async.ScopedLocal$Carrier.lambda$execute$1(ScopedLocal.java:338)
        at 
org.apache.groovy.runtime.async.ScopedLocal$Carrier.execute(ScopedLocal.java:340)
        at 
org.apache.groovy.runtime.async.ScopedLocal$Carrier.call(ScopedLocal.java:320)
        at 
org.apache.groovy.runtime.async.ScopedLocal.where(ScopedLocal.java:220)
        at 
org.apache.groovy.runtime.async.DefaultAsyncScope.withCurrent(DefaultAsyncScope.java:99)
        at groovy.concurrent.AsyncScope.withCurrent(AsyncScope.java:121)
        at groovy.concurrent.AsyncScope.withScope(AsyncScope.java:167)
        at 
groovy.concurrent.ParallelScope.lambda$withPool$0(ParallelScope.java:73)
        at 
org.apache.groovy.runtime.async.ScopedLocal$Carrier.lambda$call$0(ScopedLocal.java:320)
        at 
org.apache.groovy.runtime.async.ScopedLocal$ThreadLocalImpl.bind(ScopedLocal.java:428)
        at 
org.apache.groovy.runtime.async.ScopedLocal$Carrier.lambda$execute$1(ScopedLocal.java:338)
        at 
org.apache.groovy.runtime.async.ScopedLocal$Carrier.execute(ScopedLocal.java:340)
        at 
org.apache.groovy.runtime.async.ScopedLocal$Carrier.call(ScopedLocal.java:320)
        at 
org.apache.groovy.runtime.async.ScopedLocal.where(ScopedLocal.java:220)
        at 
org.apache.groovy.runtime.async.DefaultPool.withCurrent(DefaultPool.java:143)
        at groovy.concurrent.Pool.withCurrent(Pool.java:135)
        at groovy.concurrent.ParallelScope.withPool(ParallelScope.java:73)
        at TestScript104.run(TestScript104.groovy:8)
        at groovy.lang.GroovyShell.evaluate(GroovyShell.java:552)
        at groovy.lang.GroovyShell.evaluate(GroovyShell.java:587)
        at groovy.lang.GroovyShell.evaluate(GroovyShell.java:571)
        at groovy.test.GroovyAssert.assertScript(GroovyAssert.java:107)
        at groovy.test.GroovyAssert.assertScript(GroovyAssert.java:97)
        at 
groovy.concurrent.ParallelCollectionTest.testEachParallelRunsConcurrently(ParallelCollectionTest.groovy:46)
   Caused by: java.lang.reflect.UndeclaredThrowableException
        at 
java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
        at 
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
        at 
java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:540)
        at 
java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:567)
        at 
java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:670)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
        at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
        at 
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at 
java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765)
        at 
org.codehaus.groovy.runtime.ParallelCollectionExtensions.lambda$eachParallel$0(ParallelCollectionExtensions.java:87)
        at 
java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1403)
        at 
java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
        at 
java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
        at 
java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
        at 
java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
        at 
java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
   Caused by: java.lang.reflect.UndeclaredThrowableException
        at jdk.proxy2/jdk.proxy2.$Proxy60.accept(Unknown Source)
        at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
        at 
java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
        at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at 
java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
        at 
java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
        ... 5 more
   Caused by: java.util.concurrent.TimeoutException
        at 
java.base/java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:259)
        at 
java.base/java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:437)
        at TestScript104$_run_closure1$_closure2.doCall(TestScript104.groovy:15)
        at groovy.lang.Closure.invokeHandle(Closure.java:647)
        at groovy.lang.Closure.invokeCached(Closure.java:618)
        at groovy.lang.Closure.call(Closure.java:584)
        at 
org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:55)
        at 
org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:115)
        ... 11 more
   ```
   
   </details>
   
   ### Rerun Controls
   > [!NOTE]
   > Checks are currently running using the configuration below.
   
   Select tests to mute in this pull request:
   
   🔲 ParallelCollectionTest > testEachParallelRunsConcurrently\(\) <!

> Refine error message for unclosed type argument and unclosed slashy string
> --------------------------------------------------------------------------
>
>                 Key: GROOVY-12425
>                 URL: https://issues.apache.org/jira/browse/GROOVY-12425
>             Project: Groovy
>          Issue Type: Improvement
>            Reporter: Daniel Sun
>            Priority: Major
>
> h2. Description
> Two parser diagnostics name a missing closer but point at the wrong token, or 
> name a different mistake. Both should match the caret already used for an 
> unclosed quote: one sentence, on the token that is wrong.
> h3. Unclosed type argument
> {{List<Integer name}} is parsed as the comparison {{List < Integer}} plus a 
> following argument list. The message was already {{Missing '>'}}, which is 
> the same advice as javac's {{> or ',' expected}}. The caret sat on {{List}}, 
> often many tokens away from the missing {{>}}.
> The caret now sits on the first token of that argument list. An identifier 
> after {{T < U}} is an argument list, not a command argument, so the caret is 
> the start of the list. Extra spaces do not pull it back onto the space after 
> the type argument.
> * {{List<Integer list2}} — caret on {{list2}}
> * {{List<List<Integer> list2}} — caret on {{list2}}, after the inner {{>}}
> * {{List<Integer  name}} — two spaces; caret on {{name}}, not on the first 
> space
> * {{List < Integer 1, 2}} — caret on {{1}}
> * {{List < Integer name foo}} — caret on {{name}}, not on {{foo}}
> A comparison that is not two type names stays {{Unexpected input}}. {{list < 
> Integer name}} is one of those.
> {noformat}
> Missing '>' @ line 1, column 14.
>    List<Integer list2 = new ArrayList<Integer>()
>                 ^
> {noformat}
> h3. Unclosed slashy string
> An unclosed {{/.../}} was reported as {{Unexpected input: '/'}}. {{/}} is 
> also the division operator, so a slashy string that never closes fell through 
> to that token.
> It is now {{Unclosed string literal}}, with the caret on the opening {{/}}. 
> That is the same sentence and the same opener caret as an unclosed {{'}} or 
> {{"}}, and the same place javac marks {{unclosed string literal}}.
> {noformat}
> Unclosed string literal @ line 1, column 5.
>    s = /hello
>        ^
> {noformat}
> The same message is used when the slashy string is only {{/}} at end of 
> input, and when the opener is on the line after {{=}}.
> Division is unchanged:
> * {{a / b}} stays division.
> * A value, a line break, then {{/}}, then another value stays division. A 
> newline is not a left operand. {{9}} split across lines from {{3}} by {{/}} 
> still divides.
> * A closed {{/ab/}} is still a string. {{//}} and {{/*}} are still comments.
> {{$/}} is not treated as an unclosed string. {{$}} is an identifier, so 
> {{($/2)}}, {{$/=}}, and {{$//}} are division. An end-of-input alternative on 
> {{$/}} would reject those programs. An unclosed {{$/...}} therefore still 
> surfaces as a later error.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to