mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
coverage listeners cleanup: they should not depend on IDEA's classes (~coverage_rt)
This commit is contained in:
@@ -22,10 +22,7 @@
|
||||
*/
|
||||
package com.intellij.execution;
|
||||
|
||||
import com.intellij.execution.configurations.JavaParameters;
|
||||
import com.intellij.execution.configurations.ModuleBasedConfiguration;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.configurations.RuntimeConfigurationException;
|
||||
import com.intellij.execution.configurations.*;
|
||||
import com.intellij.execution.process.OSProcessHandler;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
@@ -141,4 +138,8 @@ public abstract class RunConfigurationExtension {
|
||||
extension.checkConfiguration(configuration);
|
||||
}
|
||||
}
|
||||
|
||||
public <T extends ModuleBasedConfiguration & RunJavaConfiguration> boolean isListenerDisabled(T configuration, Object listener) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -202,10 +202,18 @@ public abstract class TestObject implements JavaCommandLine {
|
||||
final Object[] listeners = Extensions.getExtensions(IDEAJUnitListener.EP_NAME);
|
||||
final StringBuffer buf = new StringBuffer();
|
||||
for (final Object listener : listeners) {
|
||||
if (!((IDEAJUnitListener)listener).isEnabled(myConfiguration)) continue;
|
||||
final Class classListener = listener.getClass();
|
||||
buf.append(classListener.getName()).append("\n");
|
||||
myJavaParameters.getClassPath().add(PathUtil.getJarPathForClass(classListener));
|
||||
boolean enabled = true;
|
||||
for (RunConfigurationExtension ext : Extensions.getExtensions(RunConfigurationExtension.EP_NAME)) {
|
||||
if (ext.isListenerDisabled(myConfiguration, listener)) {
|
||||
enabled = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (enabled) {
|
||||
final Class classListener = listener.getClass();
|
||||
buf.append(classListener.getName()).append("\n");
|
||||
myJavaParameters.getClassPath().add(PathUtil.getJarPathForClass(classListener));
|
||||
}
|
||||
}
|
||||
if (buf.length() > 0) {
|
||||
try {
|
||||
@@ -276,7 +284,7 @@ public abstract class TestObject implements JavaCommandLine {
|
||||
packetsReceiver.checkTerminated();
|
||||
final JUnitRunningModel model = packetsReceiver.getModel();
|
||||
TestsUIUtil.notifyByBalloon(myProject, model != null ? model.getRoot() : null, consoleProperties,
|
||||
Filter.DEFECTIVE_LEAF.and(JavaAwareFilter.METHOD(myProject)));
|
||||
Filter.DEFECT);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -26,5 +26,4 @@ public interface IDEAJUnitListener {
|
||||
void testStarted(String className, String methodName);
|
||||
void testFinished(String className, String methodName);
|
||||
|
||||
boolean isEnabled(Object configuration);
|
||||
}
|
||||
+12
-4
@@ -272,10 +272,18 @@ public class TestNGRunnableState extends JavaCommandLineState {
|
||||
}
|
||||
|
||||
for (Object o : Extensions.getExtensions(IDEATestNGListener.EP_NAME)) {
|
||||
if (!((IDEATestNGListener)o).isEnabled(config)) continue;
|
||||
if (buf.length() > 0) buf.append(";");
|
||||
buf.append(o.getClass().getName());
|
||||
javaParameters.getClassPath().add(PathUtil.getJarPathForClass(o.getClass()));
|
||||
boolean enabled = true;
|
||||
for (RunConfigurationExtension extension : Extensions.getExtensions(RunConfigurationExtension.EP_NAME)) {
|
||||
if (extension.isListenerDisabled(config, o)) {
|
||||
enabled = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (enabled) {
|
||||
if (buf.length() > 0) buf.append(";");
|
||||
buf.append(o.getClass().getName());
|
||||
javaParameters.getClassPath().add(PathUtil.getJarPathForClass(o.getClass()));
|
||||
}
|
||||
}
|
||||
if (buf.length() > 0) javaParameters.getProgramParametersList().add(TestNGCommandLineArgs.LISTENER_COMMAND_OPT, buf.toString());
|
||||
|
||||
|
||||
@@ -22,6 +22,4 @@ package org.testng;
|
||||
|
||||
public interface IDEATestNGListener extends ITestListener {
|
||||
String EP_NAME = "com.theoryinpractice.testng.listener";
|
||||
|
||||
boolean isEnabled(Object configuration);
|
||||
}
|
||||
Reference in New Issue
Block a user