Fixing exclude filter bug & adding query cache flushing 31/631/2
authorjsimomaa <jani.simomaa@gmail.com>
Thu, 15 Jun 2017 10:13:43 +0000 (13:13 +0300)
committerJani Simomaa <jani.simomaa@semantum.fi>
Thu, 15 Jun 2017 10:24:06 +0000 (13:24 +0300)
refs #7305

Change-Id: I16b48b8d0aa4cb19a1cbc60084d046ec83d20187

bundles/org.simantics.tests.modelled/src/org/simantics/tests/modelled/junit/v2/ModelledSTSRunner.java
bundles/org.simantics.tests.modelled/src/org/simantics/tests/modelled/junit/v2/ModelledSTSSuiteRunner.java

index 31077a080d75d8e2c18352dab1a2dbdc264d70f4..393174906afeb46e7530a71cdef4091c818507ec 100644 (file)
@@ -13,12 +13,17 @@ import org.junit.runner.notification.RunNotifier;
 import org.junit.runners.ParentRunner;
 import org.junit.runners.model.InitializationError;
 import org.simantics.Simantics;
+import org.simantics.db.layer0.util.Layer0Utils;
 import org.simantics.db.testing.common.AcornTests;
 import org.simantics.tests.modelled.utils.ModelledSTSSuite;
 import org.simantics.tests.modelled.utils.STSSuiteTestCollector;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ModelledSTSRunner extends ParentRunner<ModelledSTSSuiteRunner> {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(ModelledSTSRunner.class);
+    
     public static final String INCLUSION_FILTER = "org.simantics.tests.modelled.singleTestIncludeFilter";
     public static final String EXCLUSION_FILTER = "org.simantics.tests.modelled.excludeFilter";
     
@@ -26,6 +31,7 @@ public class ModelledSTSRunner extends ParentRunner<ModelledSTSSuiteRunner> {
 
     public ModelledSTSRunner(Class<?> testClass) throws InitializationError {
         super(testClass);
+
         try {
             initialize0();
             Collection<ModelledSTSSuite> suites = STSSuiteTestCollector.collectTests();
@@ -96,7 +102,12 @@ public class ModelledSTSRunner extends ParentRunner<ModelledSTSSuiteRunner> {
 
     @Override
     protected void runChild(ModelledSTSSuiteRunner child, RunNotifier notifier) {
-        child.run(notifier);
+        try {
+            child.run(notifier);
+        } finally {
+            // Clear query cache
+            Layer0Utils.queryDebugSupport("QueryControl.flush");
+        }
         // TODO: Add coverage reporting to ModelledSTSRunner
 //        CombinedCoverage cover = child.getCoverage();
 //        CoverageBuilder b = new CoverageBuilder();
index ac42653e57d5536ce776cfd47092413b3ca8ef86..0bfb1f1ceaf02ab61476398c4075e2dead9e165b 100644 (file)
@@ -32,11 +32,11 @@ public class ModelledSTSSuiteRunner extends ParentRunner<ModelledSTSTestRunner>
         // Filter inclusions
         String inclusionFilter = System.getProperty(ModelledSTSRunner.INCLUSION_FILTER);
         for (ModelledSTSTest test : suite.getSortedChildren()) {
-            boolean add = false;
+            boolean add = true;
             if (exclusionFilter != null) {
                 String[] filters = exclusionFilter.split(",");
-                if (!startsWithAny(test, filters)) {
-                    add = true;
+                if (startsWithAny(test, filters)) {
+                    add = false;
                 }
             }
             if (inclusionFilter != null) {