diff --git a/plugins/junit/src/com/intellij/execution/junit/TestDirectory.java b/plugins/junit/src/com/intellij/execution/junit/TestDirectory.java index fe60e7f9114c..74d67b575ef0 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestDirectory.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestDirectory.java @@ -34,6 +34,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.GlobalSearchScopesCore; +import org.jetbrains.annotations.Nullable; import java.util.Collection; @@ -46,6 +47,7 @@ class TestDirectory extends TestPackage { super(configuration, environment); } + @Nullable @Override public SourceScope getSourceScope() { final String dirName = getConfiguration().getPersistentData().getDirName(); diff --git a/plugins/junit/src/com/intellij/execution/junit/TestMethods.java b/plugins/junit/src/com/intellij/execution/junit/TestMethods.java index 8c8de787a670..92a71a9fb6f4 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestMethods.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestMethods.java @@ -24,8 +24,11 @@ import com.intellij.execution.configurations.RunConfigurationModule; import com.intellij.execution.junit2.info.MethodLocation; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.testframework.AbstractTestProxy; +import com.intellij.execution.testframework.SourceScope; +import com.intellij.execution.testframework.TestSearchScope; import com.intellij.idea.ActionsBundle; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiClass; @@ -57,7 +60,8 @@ public class TestMethods extends TestMethod { final JUnitConfiguration.Data data = getConfiguration().getPersistentData(); RunConfigurationModule module = getConfiguration().getConfigurationModule(); final Project project = module.getProject(); - final GlobalSearchScope searchScope = getConfiguration().getConfigurationModule().getSearchScope(); + final SourceScope scope = getSourceScope(); + final GlobalSearchScope searchScope = scope != null ? scope.getGlobalSearchScope() : GlobalSearchScope.allScope(project); addClassesListToJavaParameters(myFailedTests, new Function() { @Override public String fun(AbstractTestProxy testInfo) { @@ -68,6 +72,11 @@ public class TestMethods extends TestMethod { return javaParameters; } + @Override + protected boolean configureByModule(Module module) { + return super.configureByModule(module) && getConfiguration().getPersistentData().getScope() != TestSearchScope.WHOLE_PROJECT; + } + @Nullable public static String getTestPresentation(AbstractTestProxy testInfo, Project project, GlobalSearchScope searchScope) { final Location location = testInfo.getLocation(project, searchScope); diff --git a/plugins/junit/src/com/intellij/execution/junit/TestObject.java b/plugins/junit/src/com/intellij/execution/junit/TestObject.java index 928f09da1e82..2f272d21b91a 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestObject.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestObject.java @@ -59,6 +59,7 @@ import com.intellij.util.PathUtil; import jetbrains.buildServer.messages.serviceMessages.ServiceMessageTypes; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.jps.model.serialization.PathMacroUtil; import java.io.File; @@ -127,6 +128,7 @@ public abstract class TestObject extends JavaTestFrameworkRunnableState