-
Notifications
You must be signed in to change notification settings - Fork 326
Open
Milestone
Description
When running tests, we see the following error:
java.lang.ClassCastException: class org.eclipse.xtext.testing.extensions.InjectionExtension cannot be cast to class org.junit.jupiter.api.extension.Extension (org.eclipse.xtext.testing.extensions.InjectionExtension is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @1dbafec0; org.junit.jupiter.api.extension.Extension is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @313e7656)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:803)
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:293)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:5182)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:5190)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
Should be due to JUnit 5 versions here:
$ cat ./org.eclipse.xtext.testing/META-INF/MANIFEST.MF
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Xtext Testing Infrastructure
Bundle-SymbolicName: org.eclipse.xtext.testing;singleton:=true
Bundle-Version: 2.41.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: Eclipse Xtext
...
Import-Package: org.apache.log4j;version="1.2.26",
org.apache.log4j.spi;version="1.2.26",
org.junit.jupiter.api;version="[5.1.0,6.0.0)",
org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)",
org.junit.jupiter.api.function;version="[5.1.0,6.0.0)",
org.junit.jupiter.api.io;version="[5.1.0,6.0.0)",
org.junit.jupiter.params;version="[5.1.0,6.0.0)",
org.junit.jupiter.params.provider;version="[5.1.0,6.0.0)",
org.junit.platform.commons.support;version="[1.0.0,2.0.0)";resolution:=optional
...
There are other places that require JUnit 5 too:
$ git grep junit -- "**MANIFEST.MF" | grep "\[5"
org.eclipse.xtext.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
org.eclipse.xtext.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)",
org.eclipse.xtext.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api.function;version="[5.1.0,6.0.0)",
org.eclipse.xtext.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api.io;version="[5.1.0,6.0.0)",
org.eclipse.xtext.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.params;version="[5.1.0,6.0.0)",
org.eclipse.xtext.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.params.provider;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api.function;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api.io;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.params;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing.junit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.params.provider;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing/META-INF/MANIFEST.MF: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing/META-INF/MANIFEST.MF: org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing/META-INF/MANIFEST.MF: org.junit.jupiter.api.function;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing/META-INF/MANIFEST.MF: org.junit.jupiter.api.io;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing/META-INF/MANIFEST.MF: org.junit.jupiter.params;version="[5.1.0,6.0.0)",
org.eclipse.xtext.testing/META-INF/MANIFEST.MF: org.junit.jupiter.params.provider;version="[5.1.0,6.0.0)",
org.eclipse.xtext.tests/testdata/wizard-expectations/mavenTychoJUnit5/mavenTychoJUnit5.parent/mavenTychoJUnit5.tests/META-INF/MANIFEST.MF:Import-Package: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
org.eclipse.xtext.tests/testdata/wizard-expectations/mavenTychoJUnit5/mavenTychoJUnit5.parent/mavenTychoJUnit5.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)"
org.eclipse.xtext.tests/testdata/wizard-expectations/mavenTychoJUnit5/mavenTychoJUnit5.parent/mavenTychoJUnit5.ui.tests/META-INF/MANIFEST.MF:Import-Package: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
org.eclipse.xtext.tests/testdata/wizard-expectations/mavenTychoJUnit5/mavenTychoJUnit5.parent/mavenTychoJUnit5.ui.tests/META-INF/MANIFEST.MF: org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)"
org.eclipse.xtext.ui.testing/META-INF/MANIFEST.MF: org.junit.jupiter.api;version="[5.0.0,6.0.0)";resolution:=optional,
How do we want to deal with that? Drop JUnit 5 support and move the dependencies to JUnit 6?
Metadata
Metadata
Assignees
Labels
No labels