diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyCompilerTestCase.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyCompilerTestCase.java index 25f6562bc1c5..f6748f4922cd 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyCompilerTestCase.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyCompilerTestCase.java @@ -211,29 +211,28 @@ public abstract class GroovyCompilerTestCase extends JavaCodeInsightFixtureTestC protected void assertOutput(String className, String expected, final Module module) throws ExecutionException { final StringBuffer sb = new StringBuffer(); - ProcessHandler process = runProcess(className, module, DefaultRunExecutor.class, DefaultJavaProgramRunner.class, new ProcessAdapter() { + ProcessHandler process = runProcess(className, module, DefaultRunExecutor.class, new ProcessAdapter() { @Override public void onTextAvailable(ProcessEvent event, Key outputType) { if (ProcessOutputTypes.SYSTEM != outputType) { sb.append(event.getText()); } } - }); + }, ProgramRunner.PROGRAM_RUNNER_EP.findExtension(DefaultJavaProgramRunner.class)); process.waitFor(); assertEquals(expected.trim(), StringUtil.convertLineSeparators(sb.toString().trim())); } protected ProcessHandler runProcess(String className, - Module module, - final Class executorClass, - final Class runnerClass, final ProcessListener listener) throws ExecutionException { + Module module, + final Class executorClass, + final ProcessListener listener, final ProgramRunner runner) throws ExecutionException { final ApplicationConfiguration configuration = new ApplicationConfiguration("app", getProject(), ApplicationConfigurationType.getInstance()); configuration.setModule(module); configuration.setMainClassName(className); final Executor executor = Executor.EXECUTOR_EXTENSION_NAME.findExtension(executorClass); final ExecutionEnvironment environment = new ExecutionEnvironment(configuration, getProject(), new RunnerSettings(null, null), null, null); - final ProgramRunner runner = ProgramRunner.PROGRAM_RUNNER_EP.findExtension(runnerClass); final Semaphore semaphore = new Semaphore(); semaphore.down(); diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyDebuggerTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyDebuggerTest.groovy index 1e79d3184ce0..f0147603daf3 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyDebuggerTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GroovyDebuggerTest.groovy @@ -35,6 +35,7 @@ import com.intellij.execution.process.ProcessAdapter import com.intellij.testFramework.builders.JavaModuleFixtureBuilder import com.intellij.util.concurrency.Semaphore import org.jetbrains.plugins.groovy.debugger.GroovyPositionManager +import com.intellij.execution.runners.ProgramRunner /** * @author peter @@ -75,7 +76,8 @@ class GroovyDebuggerTest extends GroovyCompilerTestCase { private void runDebugger(Closure cl) { make() edt { - runProcess('Foo', myModule, DefaultDebugExecutor, GenericDebuggerRunner, [onTextAvailable:{ evt, type -> /*print evt.text*/}] as ProcessAdapter) + ProgramRunner runner = ProgramRunner.PROGRAM_RUNNER_EP.extensions.find { it.class == GenericDebuggerRunner } + runProcess('Foo', myModule, DefaultDebugExecutor, [onTextAvailable: { evt, type -> print evt.text}] as ProcessAdapter, runner) } cl.call() resume() @@ -108,7 +110,7 @@ class GroovyDebuggerTest extends GroovyCompilerTestCase { } def context = suspendManager.pausedContext - assert context : 'too long process' + assert context : "too long process, terminated=$debugProcess.executionResult.processHandler.processTerminated" return context }