]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.tests.modelled/src/org/simantics/tests/modelled/utils/ModelledSTSTest.java
Builtins and JavaModule SCL modules may leak memory
[simantics/platform.git] / bundles / org.simantics.tests.modelled / src / org / simantics / tests / modelled / utils / ModelledSTSTest.java
index c0ed9b191420604d49cfc73edd636d9f00928920..0c0d8682a5706688c6031f8f68698823390ccb89 100644 (file)
@@ -11,9 +11,9 @@ import java.util.Set;
 
 import org.simantics.scl.compiler.commands.CommandSession;
 import org.simantics.scl.compiler.commands.TestScriptExecutor;
+import org.simantics.scl.compiler.elaboration.java.Builtins;
+import org.simantics.scl.compiler.elaboration.java.JavaModule;
 import org.simantics.scl.compiler.module.coverage.CombinedCoverage;
-import org.simantics.scl.compiler.module.options.ModuleCompilationOptions;
-import org.simantics.scl.compiler.module.options.ModuleCompilationOptionsAdvisor;
 import org.simantics.scl.compiler.module.repository.ModuleRepository;
 import org.simantics.scl.compiler.types.Type;
 import org.simantics.scl.compiler.types.Types;
@@ -24,6 +24,7 @@ import org.simantics.scl.runtime.reporting.SCLReportingHandler;
 public class ModelledSTSTest {
 
     private final String name;
+    private final String parentName;
     private final String code;
     private final int priority;
     private final boolean ignored;
@@ -33,8 +34,9 @@ public class ModelledSTSTest {
     private CombinedCoverage coverage;
     private Map<String, String> variables;
 
-    ModelledSTSTest(String name, String code, int priority, boolean ignored, Set<String> dependencies, Map<String, String> variables) {
+    ModelledSTSTest(String name, String parentName, String code, int priority, boolean ignored, Set<String> dependencies, Map<String, String> variables) {
         this.name = name;
+        this.parentName = parentName;
         this.code = code;
         this.priority = priority;
         this.ignored = ignored;
@@ -47,6 +49,10 @@ public class ModelledSTSTest {
         return name;
     }
 
+    public String getParentName() {
+        return parentName;
+    }
+
     public String getCode() {
         return code;
     }
@@ -96,22 +102,22 @@ public class ModelledSTSTest {
         ModuleRepository repo = new ModuleRepository(SCLOsgi.SOURCE_REPOSITORY);
         CommandSession session = null;
         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);
-                }
-            });
+//            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);
+//                }
+//            });
             
             SCLReportingHandler handler = (SCLReportingHandler) SCLContext.getCurrent().get(SCLReportingHandler.REPORTING_HANDLER);
             session = new CommandSession(repo, handler);
@@ -134,6 +140,8 @@ public class ModelledSTSTest {
         } finally {
             // remember to flush this repository
             repo.flush();
+            Builtins.flush();
+            JavaModule.flush();
         }
     }