GEODE-1378: Don't launch dunit VMs in checkMissedTests

Setting a system property to disable launching dunit VMs during
checkMissedTests.

DistributedLockServiceDUnitTest failed with this property set because it
was doing work in the constructor. I cleaned up the test to create the
blackboard in the set up method instead.


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/18761c72
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/18761c72
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/18761c72

Branch: refs/heads/feature/GEODE-835
Commit: 18761c729396936e1f05dcfd69f344f5762dedb7
Parents: b3d9061
Author: Dan Smith <upthewatersp...@apache.org>
Authored: Tue May 17 15:00:53 2016 -0700
Committer: Dan Smith <upthewatersp...@apache.org>
Committed: Wed May 18 11:20:28 2016 -0700

----------------------------------------------------------------------
 .../DistributedLockServiceDUnitTest.java        | 46 +++++++++-----------
 gradle/test.gradle                              |  4 ++
 2 files changed, 25 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/18761c72/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedLockServiceDUnitTest.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedLockServiceDUnitTest.java
 
b/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedLockServiceDUnitTest.java
index 42c3f01..5729bf6 100755
--- 
a/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedLockServiceDUnitTest.java
+++ 
b/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedLockServiceDUnitTest.java
@@ -54,10 +54,14 @@ import com.gemstone.gemfire.test.dunit.ThreadUtils;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.DistributedTest;
+
+import org.junit.experimental.categories.Category;
 
 /**
  * This class tests distributed ownership via the DistributedLockService api.
  */
+@Category(DistributedTest.class)
 public class DistributedLockServiceDUnitTest extends DistributedTestCase {
   
        protected static DistributedSystem dlstSystem;
@@ -72,25 +76,10 @@ public class DistributedLockServiceDUnitTest extends 
DistributedTestCase {
 
   public DistributedLockServiceDUnitTest(String name) {
     super(name);
-    if (blackboard == null) {
-      try {
-        blackboard = DistributedLockBlackboardImpl.getInstance();
-      } catch (Exception e) {
-        throw new RuntimeException("initialization error", e);
-      }
-    }
   }
   
   /////////// Test lifecycle //////////
- 
-  public static void caseSetUp() throws Exception {
-    disconnectAllFromDS();
-  }
-  
-  public static void caseTearDown() throws Exception {
-    disconnectAllFromDS();
-  }
-  
+
   /**
    * Returns a previously created (or new, if this is the first
    * time this method is called in this VM) distributed system
@@ -98,23 +87,25 @@ public class DistributedLockServiceDUnitTest extends 
DistributedTestCase {
    */
   @Override
   public final void postSetUp() throws Exception {
+
+    createBlackboard();
+    Invoke.invokeInEveryVM(() -> createBlackboard());
+
     // Create a DistributedSystem in every VM
     connectDistributedSystem();
 
-    for (int h = 0; h < Host.getHostCount(); h++) {
-      Host host = Host.getHost(h);
+    Invoke.invokeInEveryVM(() -> connectDistributedSystem());
+  }
 
-      for (int v = 0; v < host.getVMCount(); v++) {
-        host.getVM(v).invoke(
-          DistributedLockServiceDUnitTest.class, "connectDistributedSystem", 
null);
-      }
+  private void createBlackboard() throws Exception {
+    if (blackboard == null) {
+      blackboard = DistributedLockBlackboardImpl.getInstance();
     }
   }
 
   @Override
   public final void preTearDown() throws Exception {
-    Invoke.invokeInEveryVM(DistributedLockServiceDUnitTest.class,
-                    "destroyAllDLockServices"); 
+    Invoke.invokeInEveryVM(() -> destroyAllDLockServices());
 //    invokeInEveryVM(DistributedLockServiceDUnitTest.class,
 //                    "remoteDumpAllDLockServices"); 
                     
@@ -126,7 +117,12 @@ public class DistributedLockServiceDUnitTest extends 
DistributedTestCase {
     
     this.lockGrantor = null;
   }
-  
+
+  @Override
+  public void postTearDown() throws Exception {
+    disconnectAllFromDS();
+  }
+
   public static void destroyAllDLockServices() {
     DLockService.destroyAll();
     dlstSystem = null;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/18761c72/gradle/test.gradle
----------------------------------------------------------------------
diff --git a/gradle/test.gradle b/gradle/test.gradle
index 96fbfc5..1d3701f 100644
--- a/gradle/test.gradle
+++ b/gradle/test.gradle
@@ -80,6 +80,10 @@ subprojects {
       excludeCategories 'com.gemstone.gemfire.test.junit.categories.UITest'
     }
 
+    //Skip launching any DUnit VMs during this run. This will prevent
+    //junit from launching VMs while parsing categories
+    systemProperty 'gemfire.DUnitLauncher.LAUNCHED', 'true'
+
     beforeTest { descriptor ->
       throw new GradleException("The test " + descriptor.getClassName() + "." 
+ descriptor.getName() + " does not include a junit category.");
     }

Reply via email to