test discovery: hide discovery from common tests api

This commit is contained in:
Anna.Kozlova
2018-08-01 15:31:12 +02:00
parent 6ad74bc121
commit 271dde57d5
7 changed files with 28 additions and 14 deletions
@@ -36,8 +36,6 @@ public abstract class JavaTestConfigurationBase extends ModuleBasedConfiguration
super(configurationModule, factory);
}
public abstract byte getTestFrameworkId();
public abstract void bePatternConfiguration(List<PsiClass> classes, PsiMethod method);
public abstract void beMethodConfiguration(Location<PsiMethod> location);
@@ -0,0 +1,16 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.execution;
import com.intellij.execution.configurations.ConfigurationFactory;
import com.intellij.execution.configurations.JavaRunConfigurationModule;
import org.jetbrains.annotations.NotNull;
public abstract class JavaTestConfigurationWithDiscoverySupport extends JavaTestConfigurationBase {
public JavaTestConfigurationWithDiscoverySupport(String name,
@NotNull JavaRunConfigurationModule configurationModule,
@NotNull ConfigurationFactory factory) {
super(name, configurationModule, factory);
}
public abstract byte getTestFrameworkId();
}
@@ -29,7 +29,7 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.*;
public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigurationProducerBase<JavaTestConfigurationBase> {
public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigurationProducerBase<JavaTestConfigurationWithDiscoverySupport> {
protected TestDiscoveryConfigurationProducer(ConfigurationType type) {
super(type);
}
@@ -47,7 +47,7 @@ public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigur
@Override
protected boolean setupConfigurationFromContext(final JavaTestConfigurationBase configuration,
protected boolean setupConfigurationFromContext(final JavaTestConfigurationWithDiscoverySupport configuration,
ConfigurationContext configurationContext,
Ref<PsiElement> ref) {
if (!Registry.is(TestDiscoveryExtension.TEST_DISCOVERY_REGISTRY_KEY)) {
@@ -73,7 +73,7 @@ public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigur
return false;
}
private Module getTargetModule(JavaTestConfigurationBase configuration,
private Module getTargetModule(JavaTestConfigurationWithDiscoverySupport configuration,
ConfigurationContext configurationContext,
Pair<String, String> position, Project project, TestDiscoveryIndex testDiscoveryIndex) {
final RunnerAndConfigurationSettings template =
@@ -149,7 +149,7 @@ public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigur
}
@Override
protected Module findModule(JavaTestConfigurationBase configuration, Module contextModule) {
protected Module findModule(JavaTestConfigurationWithDiscoverySupport configuration, Module contextModule) {
return null;
}
@@ -185,7 +185,7 @@ public abstract class TestDiscoveryConfigurationProducer extends JavaRunConfigur
}
@Override
public boolean isConfigurationFromContext(JavaTestConfigurationBase configuration, ConfigurationContext configurationContext) {
public boolean isConfigurationFromContext(JavaTestConfigurationWithDiscoverySupport configuration, ConfigurationContext configurationContext) {
final Pair<String, String> position = getPosition(getSourceMethod(configurationContext.getLocation()));
return position != null && position.equals(getPosition(configuration));
}
@@ -65,7 +65,7 @@ public class TestDiscoveryExtension extends RunConfigurationExtension {
public void onTestingFinished(@NotNull SMTestProxy.SMRootTestProxy testsRoot) {
if (testsRoot.getHandler() != handler) return;
processTracesAlarm.cancelAllRequests();
processTracesAlarm.addRequest(() -> processTracesFile((JavaTestConfigurationBase)configuration), 0);
processTracesAlarm.addRequest(() -> processTracesFile((JavaTestConfigurationWithDiscoverySupport)configuration), 0);
connection.disconnect();
Disposer.dispose(disposable);
}
@@ -130,7 +130,7 @@ public class TestDiscoveryExtension extends RunConfigurationExtension {
private static final Object ourTracesLock = new Object();
private static void processTracesFile(JavaTestConfigurationBase configuration) {
private static void processTracesFile(JavaTestConfigurationWithDiscoverySupport configuration) {
final String tracesFilePath = getTraceFilePath(configuration);
final TestDiscoveryIndex testDiscoveryIndex = TestDiscoveryIndex.getInstance(configuration.getProject());
String moduleName = getConfigurationModuleName(configuration);
@@ -166,7 +166,7 @@ public class TestDiscoveryExtension extends RunConfigurationExtension {
TestDiscoveryDataSocketListener listener = null;
if (USE_SOCKET) {
try {
JavaTestConfigurationBase javaTestConfigurationBase = (JavaTestConfigurationBase)configuration;
JavaTestConfigurationWithDiscoverySupport javaTestConfigurationBase = (JavaTestConfigurationWithDiscoverySupport)configuration;
listener = new TestDiscoveryDataSocketListener(configuration.getProject(),
getConfigurationModuleName(javaTestConfigurationBase),
javaTestConfigurationBase.getTestFrameworkId());
@@ -4,7 +4,7 @@ package com.intellij.execution.testDiscovery.actions;
import com.intellij.codeInsight.actions.FormatChangedTextUtil;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.Executor;
import com.intellij.execution.JavaTestConfigurationBase;
import com.intellij.execution.JavaTestConfigurationWithDiscoverySupport;
import com.intellij.execution.Location;
import com.intellij.execution.actions.ConfigurationContext;
import com.intellij.execution.actions.RunConfigurationProducer;
@@ -283,7 +283,7 @@ public class ShowDiscoveredTestsAction extends AnAction {
for (TestDiscoveryConfigurationProducer producer : getRunConfigurationProducers(project)) {
byte frameworkId =
((JavaTestConfigurationBase)producer.getConfigurationFactory().createTemplateConfiguration(project)).getTestFrameworkId();
((JavaTestConfigurationWithDiscoverySupport)producer.getConfigurationFactory().createTemplateConfiguration(project)).getTestFrameworkId();
TestDiscoveryProducer.consumeDiscoveredTests(project, fqn, methodName, frameworkId, (testClass, testMethod, parameter) -> {
PsiClass[] testClassPsi = {null};
PsiMethod[] testMethodPsi = {null};
@@ -40,7 +40,7 @@ import org.jetbrains.jps.model.serialization.PathMacroUtil;
import java.util.*;
public class JUnitConfiguration extends JavaTestConfigurationBase {
public class JUnitConfiguration extends JavaTestConfigurationWithDiscoverySupport {
public static final String DEFAULT_PACKAGE_NAME = ExecutionBundle.message("default.package.presentable.name");
public static final byte FRAMEWORK_ID = 0x0;
@@ -39,7 +39,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.*;
import java.util.stream.Collectors;
public class TestNGConfiguration extends JavaTestConfigurationBase {
public class TestNGConfiguration extends JavaTestConfigurationWithDiscoverySupport {
@NonNls private static final String PATTERNS_EL_NAME = "patterns";
@NonNls private static final String PATTERN_EL_NAME = "pattern";
@NonNls private static final String TEST_CLASS_ATT_NAME = "testClass";