diff --git a/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java b/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java index 343f4296c428..12da1ffaed06 100644 --- a/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java +++ b/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java @@ -37,16 +37,13 @@ import com.intellij.openapi.projectRoots.JavaSdkVersion; import com.intellij.openapi.projectRoots.JdkUtil; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.projectRoots.ex.JavaSdkUtil; -import com.intellij.openapi.roots.CompilerModuleExtension; import com.intellij.openapi.roots.ModuleRootManager; -import com.intellij.openapi.roots.OrderEnumerator; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.CharsetToolkit; -import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiJavaModule; @@ -55,7 +52,6 @@ import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.GlobalSearchScopesCore; import com.intellij.util.PathUtil; import com.intellij.util.PathsList; -import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.UIUtil; import org.jdom.Element; import org.jetbrains.annotations.NotNull; @@ -357,63 +353,22 @@ public abstract class JavaTestFrameworkRunnableState JavaModuleGraphUtil.findDescriptorByModule(module, true)); - if (currentModule == null) { - List modules = new ArrayList<>(); - OrderEnumerator.orderEntries(module).recursively().runtimeOnly().forEachModule(m -> { - ContainerUtil.addIfNotNull(modules, - dumbService.computeWithAlternativeResolveEnabled(() -> JavaModuleGraphUtil.findDescriptorByModule(m, false))); - return true; - }); - - if (!modules.isEmpty()) { - ParametersList vmParametersList = javaParameters.getVMParametersList(); - for (PsiJavaModule javaModule : modules) { - String javaModuleName = javaModule.getName(); - vmParametersList.add("--add-modules"); - vmParametersList.add(javaModuleName); - - VirtualFile testsOutput = compilerModuleExtension != null ? compilerModuleExtension.getCompilerOutputPathForTests() : null; - if (testsOutput != null) { - vmParametersList.add("--patch-module"); - vmParametersList.add(javaModuleName + "=" + testsOutput.getPath()); - } - - - for (String targetModule : getAdditionalTargetModules()) { - vmParametersList.add("--add-modules"); - vmParametersList.add(targetModule); - vmParametersList.addParametersString("--add-reads " + javaModuleName + "=" + targetModule); - } - } - } - else { - //no modules found on the classpath - return; - } - } - else { + DumbService.getInstance(module.getProject()) + .computeWithAlternativeResolveEnabled(() -> JavaModuleGraphUtil.findDescriptorByModule(module, true)); + if (currentModule != null) { + //add current module explicitly as it's not reachable from `idea.rt` auto modules ParametersList vmParametersList = javaParameters.getVMParametersList(); - for (String targetModule : getAdditionalTargetModules()) { - String javaModuleName = currentModule.getName(); - vmParametersList.add("--add-modules"); - vmParametersList.add(targetModule); - vmParametersList.add("--add-reads"); - vmParametersList.add(javaModuleName + "=" + targetModule); - } - } - PathsList classPath = javaParameters.getClassPath(); - PathsList modulePath = javaParameters.getModulePath(); - modulePath.addAll(classPath.getPathList()); - classPath.clear(); - } + vmParametersList.add("--add-modules"); + vmParametersList.add(currentModule.getName()); - protected List getAdditionalTargetModules() { - return Collections.emptyList(); + //setup module path + PathsList classPath = javaParameters.getClassPath(); + PathsList modulePath = javaParameters.getModulePath(); + modulePath.addAll(classPath.getPathList()); + classPath.clear(); + } } protected void createServerSocket(JavaParameters javaParameters) { diff --git a/plugins/junit/src/com/intellij/execution/junit/TestObject.java b/plugins/junit/src/com/intellij/execution/junit/TestObject.java index f1362a442651..31aaf8ae14ee 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestObject.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestObject.java @@ -214,17 +214,6 @@ public abstract class TestObject extends JavaTestFrameworkRunnableState getAdditionalTargetModules() { - String preferredRunner = getRunner(); - if (!JUnitStarter.JUNIT5_PARAMETER.equals(preferredRunner)) { - return Arrays.asList("junit", "idea.rt", "junit.rt"); - } - else { - return Arrays.asList("org.junit.platform.launcher", "org.junit.platform.engine", "idea.rt", "junit.rt"); - } - } - public static File getJUnit5RtFile() { File junit4Rt = new File(PathUtil.getJarPathForClass(JUnit4IdeaTestRunner.class)); String junit4Name = junit4Rt.getName(); diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java index 33aeb245d104..ca62ad986de1 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java @@ -217,9 +217,4 @@ public class TestNGRunnableState extends JavaTestFrameworkRunnableState getAdditionalTargetModules() { - return Arrays.asList("testng", "jcommander", "testng.rt"); - } }