You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2015/11/02 20:57:55 UTC

incubator-geode git commit: GEODE-142: Rewrite testSleepWithInterrupt and remove faulty assertion

Repository: incubator-geode
Updated Branches:
  refs/heads/feature/GEODE-409 fe7189b48 -> f2a26698d


GEODE-142: Rewrite testSleepWithInterrupt and remove faulty assertion


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

Branch: refs/heads/feature/GEODE-409
Commit: f2a26698d8cb967d27808e85c6b1701df0af345b
Parents: fe7189b
Author: Kirk Lund <kl...@pivotal.io>
Authored: Mon Nov 2 11:21:29 2015 -0800
Committer: Kirk Lund <kl...@pivotal.io>
Committed: Mon Nov 2 11:22:48 2015 -0800

----------------------------------------------------------------------
 .../internal/lang/ThreadUtilsJUnitTest.java     | 37 ++++++++++----------
 1 file changed, 19 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f2a26698/gemfire-core/src/test/java/com/gemstone/gemfire/internal/lang/ThreadUtilsJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/lang/ThreadUtilsJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/lang/ThreadUtilsJUnitTest.java
index 031afb0..4102786 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/lang/ThreadUtilsJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/lang/ThreadUtilsJUnitTest.java
@@ -17,9 +17,9 @@
 package com.gemstone.gemfire.internal.lang;
 
 import static org.junit.Assert.*;
+import static org.assertj.core.api.Assertions.*;
 
 import java.lang.Thread.State;
-import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import edu.umd.cs.mtc.MultithreadedTestCase;
@@ -163,8 +163,8 @@ public class ThreadUtilsJUnitTest {
     final long sleepDuration = ThreadUtils.sleep(500);
     final long t1 = System.currentTimeMillis();
 
-    assertTrue((t1 - t0) >= 500);
-    assertTrue(sleepDuration >= 500);
+    assertTrue(t1 > t0);
+    assertTrue(sleepDuration > 0);
   }
 
   @Test
@@ -174,39 +174,40 @@ public class ThreadUtilsJUnitTest {
 
   protected static final class SleepInterruptedMultithreadedTestCase extends MultithreadedTestCase {
 
-    private final long expectedSleepDuration;
-    private volatile long actualSleepDuration;
-
-    private final CountDownLatch latch;
+    private final long sleepDuration;
 
     private volatile Thread sleeperThread;
-
-    public SleepInterruptedMultithreadedTestCase(final long expectedSleepDuration) {
-      assert expectedSleepDuration > 0 : "The duration of sleep must be greater than equal to 0!";
-      this.expectedSleepDuration = expectedSleepDuration;
-      this.latch = new CountDownLatch(1);
+    private volatile boolean sleeperWasInterrupted;
+    private volatile long actualSleepDuration;
+    
+    public SleepInterruptedMultithreadedTestCase(final long sleepDuration) {
+      assert sleepDuration > 0 : "The duration of sleep must be greater than equal to 0!";
+      this.sleepDuration = sleepDuration;
     }
 
     public void thread1() {
       assertTick(0);
-
       sleeperThread = Thread.currentThread();
       sleeperThread.setName("Sleeper Thread");
-      this.latch.countDown();
-      actualSleepDuration = ThreadUtils.sleep(expectedSleepDuration);
+      waitForTick(1);
+      actualSleepDuration = ThreadUtils.sleep(sleepDuration);
+      sleeperWasInterrupted = sleeperThread.isInterrupted();
+      assertTick(2);
     }
 
     public void thread2() throws Exception {
       assertTick(0);
-
       Thread.currentThread().setName("Interrupting Thread");
-      this.latch.await();
+      waitForTick(1);
+      waitForTick(2);
       sleeperThread.interrupt();
+      assertTick(2);
     }
 
     @Override
     public void finish() {
-      assertTrue(actualSleepDuration + " should be <= " + expectedSleepDuration, actualSleepDuration <= expectedSleepDuration);
+      assertThat(sleeperWasInterrupted).isTrue();
+      assertThat(actualSleepDuration).isGreaterThan(0);
     }
   }