X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.tests.modelled%2Fsrc%2Forg%2Fsimantics%2Ftests%2Fmodelled%2Futils%2FModelledSTSTest.java;h=6d9e4f4fece76c6cc9fe09e5e805735ff6c39206;hp=3430696b81456e5959d35b001da7319df906baac;hb=9c866c82a391db00ae11913c61d39d7dc46b14d0;hpb=1ec0193a5a5b8f368b03adb24acd762838ddf8ea diff --git a/bundles/org.simantics.tests.modelled/src/org/simantics/tests/modelled/utils/ModelledSTSTest.java b/bundles/org.simantics.tests.modelled/src/org/simantics/tests/modelled/utils/ModelledSTSTest.java index 3430696b8..6d9e4f4fe 100644 --- a/bundles/org.simantics.tests.modelled/src/org/simantics/tests/modelled/utils/ModelledSTSTest.java +++ b/bundles/org.simantics.tests.modelled/src/org/simantics/tests/modelled/utils/ModelledSTSTest.java @@ -95,41 +95,46 @@ public class ModelledSTSTest { public List run(List vars) throws IOException { ModuleRepository repo = new ModuleRepository(SCLOsgi.SOURCE_REPOSITORY); - repo.setAdvisor(new ModuleCompilationOptionsAdvisor() { + try { + repo.setAdvisor(new ModuleCompilationOptionsAdvisor() { + + @Override + public ModuleCompilationOptions getOptions(String moduleName) { + // TODO: default to false + boolean coverage = true; + // TODO: add moduleName filters back + // for (Pattern p : getModuleNameFilterPatterns()) { + // if (p.matcher(moduleName.toLowerCase()).find()) { + // coverage = true; + // break; + // } + // } + return new ModuleCompilationOptions(coverage); + } + }); - @Override - public ModuleCompilationOptions getOptions(String moduleName) { - // TODO: default to false - boolean coverage = true; - // TODO: add moduleName filters back -// for (Pattern p : getModuleNameFilterPatterns()) { -// if (p.matcher(moduleName.toLowerCase()).find()) { -// coverage = true; -// break; -// } -// } - return new ModuleCompilationOptions(coverage); - } - }); - - SCLReportingHandler handler = (SCLReportingHandler) SCLContext.getCurrent().get(SCLReportingHandler.REPORTING_HANDLER); - CommandSession session = new CommandSession(repo, handler); - - for (CommandSessionVariable var : vars) - session.setVariable(var.getName(), var.getType(), var.getValue()); - - for (Map.Entry entry : variables.entrySet()) - session.setVariable(entry.getKey(), Types.STRING, entry.getValue()); - - new TestScriptExecutor(session, new BufferedReader(new StringReader(code)), handler, true).execute(); - STSSuiteTestCollector.setTestCoverage(this, session); - - // Return variables from this session - List result = new ArrayList<>(); - for (String var : session.getVariables()) - result.add(new CommandSessionVariable(var, session.getVariableType(var), session.getVariableValue(var))); - - return result; + SCLReportingHandler handler = (SCLReportingHandler) SCLContext.getCurrent().get(SCLReportingHandler.REPORTING_HANDLER); + CommandSession session = new CommandSession(repo, handler); + + for (CommandSessionVariable var : vars) + session.setVariable(var.getName(), var.getType(), var.getValue()); + + for (Map.Entry entry : variables.entrySet()) + session.setVariable(entry.getKey(), Types.STRING, entry.getValue()); + + new TestScriptExecutor(session, new BufferedReader(new StringReader(code)), handler, true).execute(); + STSSuiteTestCollector.setTestCoverage(this, session); + + // Return variables from this session + List result = new ArrayList<>(); + for (String var : session.getVariables()) + result.add(new CommandSessionVariable(var, session.getVariableType(var), session.getVariableValue(var))); + + return result; + } finally { + // remember to flush this repository + repo.flush(); + } } public Set getDependencies() {