Bug 572600: cleanup IScriptEngine
setup engine now needs dedicated call to schedule()
Change-Id: Ia467bd213a8f4bd71e85c641eb4040d7575e74c5
diff --git a/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/runtime/impl/TestSuite.java b/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/runtime/impl/TestSuite.java
index 575319d..10b123b 100644
--- a/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/runtime/impl/TestSuite.java
+++ b/plugins/org.eclipse.ease.lang.unittest/src-gen/org/eclipse/ease/lang/unittest/runtime/impl/TestSuite.java
@@ -10,6 +10,7 @@
import org.eclipse.ease.IScriptEngine;
import org.eclipse.ease.Script;
import org.eclipse.ease.ScriptEngineInterruptedException;
+import org.eclipse.ease.ScriptResult;
import org.eclipse.ease.lang.unittest.TestSuiteScriptEngine;
import org.eclipse.ease.lang.unittest.definition.Flag;
import org.eclipse.ease.lang.unittest.definition.ICode;
@@ -343,20 +344,24 @@
if (definition != null) {
final ICode customCode = definition.getCustomCode(codeLocation);
if ((customCode != null) && (!customCode.getContent().trim().isEmpty())) {
- if (fSetupEngine == null)
+ if (fSetupEngine == null) {
fSetupEngine = strategy.createScriptEngine(this, null);
- if (fSetupEngine != null) {
- if (fSetupEngine instanceof IReplEngine)
- ((IReplEngine) fSetupEngine).setTerminateOnIdle(false);
-
if (fSetupEngine instanceof AbstractScriptEngine)
((AbstractScriptEngine) fSetupEngine).setExecutionRootFile(getResource());
fSetupEngine.setVariable(TestSuiteScriptEngine.TEST_SUITE_VARIABLE, this);
+ if (fSetupEngine instanceof IReplEngine) {
+ ((IReplEngine) fSetupEngine).setTerminateOnIdle(false);
+ fSetupEngine.schedule();
+ }
+ }
+
+ if (fSetupEngine != null) {
try {
- fSetupEngine.execute(new Script(customCode.getLocation(), customCode.getContent())).get();
+ final ScriptResult result = fSetupEngine.execute(new Script(customCode.getLocation(), customCode.getContent()));
+ result.get();
} catch (final ScriptEngineInterruptedException e) {
getTest("[user event]").addError("Aborted by user", fSetupEngine);
} catch (final ExecutionException e) {