test discovery: fork per module when tests were found in different modules

This commit is contained in:
Anna Kozlova
2016-01-08 20:15:17 +01:00
parent ea5ac7d7a7
commit fda3ba7e3c
9 changed files with 126 additions and 45 deletions
@@ -322,8 +322,7 @@ public abstract class JavaTestFrameworkRunnableState<T extends ModuleBasedConfig
}
}
private boolean spansMultipleModules() {
final String qualifiedName = getConfiguration().getPackage();
protected boolean spansMultipleModules(final String qualifiedName) {
if (qualifiedName != null) {
final Project project = getConfiguration().getProject();
final PsiPackage aPackage = JavaPsiFacade.getInstance(project).findPackage(qualifiedName);
@@ -350,7 +349,7 @@ public abstract class JavaTestFrameworkRunnableState<T extends ModuleBasedConfig
final String workingDirectory = getConfiguration().getWorkingDirectory();
return getScope() != TestSearchScope.SINGLE_MODULE &&
("$" + PathMacroUtil.MODULE_DIR_MACRO_NAME + "$").equals(workingDirectory) &&
spansMultipleModules();
spansMultipleModules(getConfiguration().getPackage());
}
protected void createTempFiles(JavaParameters javaParameters) {
@@ -16,8 +16,14 @@
package com.intellij.execution.testDiscovery;
import com.intellij.diagnostic.logging.LogConfigurationPanel;
import com.intellij.execution.*;
import com.intellij.execution.configurations.*;
import com.intellij.execution.ExecutionBundle;
import com.intellij.execution.Executor;
import com.intellij.execution.JavaRunConfigurationExtensionManager;
import com.intellij.execution.JavaTestConfigurationBase;
import com.intellij.execution.configurations.ConfigurationFactory;
import com.intellij.execution.configurations.JavaRunConfigurationModule;
import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.execution.configurations.RuntimeConfigurationException;
import com.intellij.execution.testframework.sm.runner.SMTRunnerConsoleProperties;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
@@ -153,7 +159,7 @@ public abstract class TestDiscoveryConfiguration extends JavaTestConfigurationBa
@Nullable
@Override
public String getPackage() {
return null;
return "";
}
@Override
@@ -22,6 +22,7 @@ import com.intellij.execution.actions.ConfigurationContext;
import com.intellij.execution.configurations.ConfigurationType;
import com.intellij.execution.junit.JavaRunConfigurationProducerBase;
import com.intellij.execution.testframework.TestSearchScope;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.Ref;
@@ -77,6 +78,11 @@ public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigur
return false;
}
@Override
protected Module findModule(TestDiscoveryConfiguration configuration, Module contextModule) {
return null;
}
private static Pair<String, String> getPosition(Location location) {
final PsiElement psiElement = location.getPsiElement();
final PsiMethod psiMethod = PsiTreeUtil.getParentOfType(psiElement, PsiMethod.class);