package org.simantics.tests.modelled.junit.v2;
-import java.io.BufferedReader;
-import java.io.StringReader;
+import java.io.IOException;
+import java.util.List;
import org.junit.runner.Description;
import org.junit.runner.Runner;
import org.junit.runner.notification.RunNotifier;
-import org.simantics.scl.compiler.commands.CommandSession;
-import org.simantics.scl.compiler.commands.TestScriptExecutor;
-import org.simantics.scl.osgi.SCLOsgi;
-import org.simantics.scl.runtime.SCLContext;
-import org.simantics.scl.runtime.reporting.SCLReportingHandler;
import org.simantics.tests.modelled.utils.ModelledSTSTest;
-import org.simantics.tests.modelled.utils.STSSuiteTestCollector;
+import org.simantics.tests.modelled.utils.ModelledSTSTest.CommandSessionVariable;
public class ModelledSTSTestRunner extends Runner {
this.test = test;
}
- public String getName() {
- return test.getName();
- }
-
@Override
public Description getDescription() {
if (description == null)
- description = Description.createTestDescription(ModelledSTSTestRunner.class, getName());
+ description = Description.createTestDescription(ModelledSTSTestRunner.class.getName(), test.getName(), new Integer(test.hashCode()));
return description;
}
- /**
- * This method is called from ModelledSTSSuite (ParentRunner) with the same
- * CommandSession
- *
- * @param session
- */
- public void run(CommandSession session) {
- try (BufferedReader reader = new BufferedReader(new StringReader(test.getCode()))) {
- SCLReportingHandler handler = (SCLReportingHandler) SCLContext.getCurrent().get(SCLReportingHandler.REPORTING_HANDLER);
- new TestScriptExecutor(session, reader, handler, true).execute();
- STSSuiteTestCollector.setTestCoverage(test, session);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
+ public List<CommandSessionVariable> runWithVars(List<CommandSessionVariable> vars) throws IOException {
+ return test.run(vars);
}
-
+
@Override
public void run(RunNotifier notifier) {
- notifier.fireTestStarted(getDescription());
- try {
- run(new CommandSession(SCLOsgi.MODULE_REPOSITORY, null));
- } finally {
- notifier.fireTestFinished(getDescription());
- }
+ throw new UnsupportedOperationException();
}
public boolean isIgnored() {