[SUREFIRE] JUnit 5 support - current state and next steps
Hello, first of all, I’d like to apologize for not being very active over the past few months. I’ve been busy at work and there was ApacheCON… so you know how it is :-) I’d like to take some time to review where we’re standing with JUnit 5 support and what we our next steps will be. Currently the whole thing is a little bit messed up and I’m pretty much to blame for this: - we have a junit5 branch, where I started to implement some integration tests for JUnit 5 support. There are no code changes to Surefire itself in this branch. It just tests that specifying the provider explicitly does work as shown in the JUnit docs. - then we have 3.0-rc1. We have merged the Provider code from the JUnit team into this branch. But we don’t have any tests there. - I’ve created a new PR to get work started on a ProviderInfo implementation to enable automatic provider lookup [1]. This way users don’t need to specify the provider explicitly anymore. So what should be our next steps? I think we should merge the junit5 branch into the 3.0-rc1 branch, so that we have the existing integration tests we already implemented in place for getting the work on the ProviderInfo started. Then we will need some time to clean up the integration test project. I think it need to be restructured a little bit to make it easier to understand and make it possible to run tests against several JUnit versions. In the end we should be able to verify that all existing JUnit 4 also work with the JUnit 5 provider. @Tibor: Can you merge the junit5 branch to 3.0-rc1 branch? Or should I create a PR for this? Best regards, Benedikt [1] https://github.com/apache/maven-surefire/pull/153 - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
[GitHub] maven-surefire issue #153: SUREFIRE-1384: ProviderInfo for JUnit Plattform (...
Github user britter commented on the issue: https://github.com/apache/maven-surefire/pull/153 @marcphilipp this may be of interest for you. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
[GitHub] maven-surefire issue #153: SUREFIRE-1384: ProviderInfo for JUnit Plattform (...
Github user britter commented on the issue: https://github.com/apache/maven-surefire/pull/153 @Tibor17 I'm having problems executing the integration test. When I run `mvn -Dit.test=JUnitPlattformIT verify` with Java 8, I get an error on running the Integration Test project: ``` Caused by: java.lang.NoClassDefFoundError: Lorg/sonatype/aether/RepositorySystemSession; at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2583) at java.lang.Class.getDeclaredFields(Class.java:1916) at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:675) at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:380) at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:164) at com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:613) at com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:569) at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:555) at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:884) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805) at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282) at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214) at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:1006) at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1038) at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1001) at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051) at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48) at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81) at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53) at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:65) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115) at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:133) at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68) at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:63) at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45) at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012) at org.eclipse.sisu.inject.Guice4$1.get(Guice4.java:162) at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:81) at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51) at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263) at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255) at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:519) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:121) ... 21 more Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.RepositorySystemSession at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) ... 57 more [ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound at org.apache.maven.it.Verifier.executeGoals(Verifier.java:1369) at org.apache.maven.surefire.its.fixture.MavenLauncher.executeCurrentGoals(MavenLauncher.java:299) ... 66 more ``` What am I missing? --- If your project is
[GitHub] maven-surefire pull request #153: SUREFIRE-1384: ProviderInfo for JUnit Plat...
GitHub user britter opened a pull request: https://github.com/apache/maven-surefire/pull/153 SUREFIRE-1384: ProviderInfo for JUnit Plattform (WIP) This is Work in Progress! First take on a JUnitPlattform ProviderInfo, to enable automatic provider lookup. You can merge this pull request into a Git repository by running: $ git pull https://github.com/britter/maven-surefire junitplattform-provider-info Alternatively you can review and apply these changes as the patch at: https://github.com/apache/maven-surefire/pull/153.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #153 commit 890f1cb8b54c5fa612d3191df0057522f6d9f28a Author: Benedikt RitterDate: 2017-06-08T12:46:04Z SUREFIRE-1384: Start implemeting JUnit Plattform ProviderInfo for automatic provider lookup --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org