test discovery: take only distinct modules

This commit is contained in:
Dmitry Batkovich
2018-04-25 18:19:53 +03:00
parent 0de2ff5e85
commit d0b3d35209
2 changed files with 5 additions and 3 deletions
@@ -141,7 +141,7 @@ public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigur
};
}
public static Module detectTargetModule(List<Module> survivedModules, Project project) {
public static Module detectTargetModule(Collection<Module> survivedModules, Project project) {
ModuleManager moduleManager = ModuleManager.getInstance(project);
final Set<Module> allModules = new HashSet<>(Arrays.asList(moduleManager.getModules()));
survivedModules
@@ -35,6 +35,7 @@ import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
class DiscoveredTestsTree extends Tree implements DataProvider {
@@ -97,11 +98,12 @@ class DiscoveredTestsTree extends Tree implements DataProvider {
myModel.addTest(testClass, testMethod);
}
public List<Module> getContainingModules() {
@NotNull
public Set<Module> getContainingModules() {
return myModel.getTestClasses().stream()
.map(element -> ModuleUtilCore.findModuleForPsiElement(element))
.filter(module -> module != null)
.collect(Collectors.toList());
.collect(Collectors.toSet());
}
public PsiMethod[] getTestMethods() {