You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@groovy.apache.org by Michał Mally <mi...@mally.pl> on 2021/06/10 12:09:16 UTC

Re: Groovy @AnnotationCollector with JUnit 5 => IncompatibleClassChangeError: Foo and Foo$CollectorHelper disagree on InnerClasses attribute

Hi Folks,

  I've reported this as a JIRA issue:
https://issues.apache.org/jira/browse/GROOVY-10121. There is also a
workaround in the issue I currently use.

Warm regards,
Michał

wt., 18 maj 2021 o 19:54 MG <mg...@arscreat.com> napisał(a):

> Hi guys,
>
> I wanted to check if anyone has encountered the following problem and has
> some more insight or a solution, before I create a Groovy ticket:
>
> In short, my code contains some simple @AnnotationCollector|ed interfaces,
> the simplest looking like:
>
> import groovy.transform.AnnotationCollector
> import groovy.transform.InheritConstructors
>
> @AnnotationCollector([InheritConstructors])
> public @interface Foo{}
>
>
> Switching to JUnit 5 the following exception now blocks the execution of
> any pattern- or selective-based test suite in IntelliJ under Groovy 3.0.8 /
> OpenJDK11U-jdk_x64_windows_hotspot_11.0.9.1_1:
>
> org.junit.platform.commons.JUnitException: TestEngine with ID
> 'junit-vintage' failed to discover tests
> Caused by: java.lang.IncompatibleClassChangeError: Foo and
> Foo$CollectorHelper disagree on InnerClasses attribute
>
> Some more info:
>
>    1. The exception is thrown during the test discovery phase, i.e.
>    before any tests get executed.
>    2. The exception had already occured for some time in a specific test
>    under JUnit 4, but it only failed that particular test, and the error
>    disappeared when rerunning the test (so I never invested the time to
>    investigate further).
>    3. I am not actually using junit-vintage, but earlier I had the same
>    exception two times, one for junit and one for junit-vintage, so I do not
>    assume it is actually tied to the junit-vintage, but that in this case
>    IntelliJ or JUnit just hides the other exception or such.
>
> Cheers,
> mg
>
> PS: I found this similar looking: ticket
> https://issues.apache.org/jira/browse/GROOVY-9405, which was fixed in
> 3.0.4 ...
>
>
>
>
>
>