You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2016/07/01 22:05:06 UTC
[2/2] incubator-geode git commit: improved unit test assertions to
provide more info when they fail
improved unit test assertions to provide more info when they fail
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/bb07a293
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/bb07a293
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/bb07a293
Branch: refs/heads/feature/GEODE-1420
Commit: bb07a2933af5c93a3133c6bb1e27901fc4be4f10
Parents: ecf6c1b
Author: Darrel Schneider <ds...@pivotal.io>
Authored: Fri Jul 1 14:58:12 2016 -0700
Committer: Darrel Schneider <ds...@pivotal.io>
Committed: Fri Jul 1 14:58:12 2016 -0700
----------------------------------------------------------------------
.../internal/cache/TombstoneService.java | 11 ++++----
.../gemfire/cache30/MultiVMRegionTestCase.java | 29 ++++++++++----------
2 files changed, 21 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/bb07a293/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TombstoneService.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TombstoneService.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TombstoneService.java
index b322371..2813864 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TombstoneService.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TombstoneService.java
@@ -370,10 +370,6 @@ public class TombstoneService {
tombstone.region.getRegionMap().removeTombstone(tombstone.entry, tombstone, false, true);
}
@Override
- public String toString() {
- return getQueue().toString();
- }
- @Override
protected void checkExpiredTombstones() {
}
@Override
@@ -649,7 +645,7 @@ public class TombstoneService {
}
@Override
public String toString() {
- return getQueue().toString() + " batchedExpiredTombstones = " + expiredTombstones.toString();
+ return super.toString() + " batchedExpiredTombstones[" + expiredTombstones.size() + "] = " + expiredTombstones.toString();
}
@Override
@@ -966,6 +962,11 @@ public class TombstoneService {
public long getScheduledTombstoneCount() {
return getQueue().size();
}
+
+ @Override
+ public String toString() {
+ return "[" + getQueue().size() + "] " + getQueue().toString();
+ }
/**
* For each expired tombstone this sweeper knows about call the predicate.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/bb07a293/geode-core/src/test/java/com/gemstone/gemfire/cache30/MultiVMRegionTestCase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache30/MultiVMRegionTestCase.java b/geode-core/src/test/java/com/gemstone/gemfire/cache30/MultiVMRegionTestCase.java
index b6e89b3..bf68610 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache30/MultiVMRegionTestCase.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache30/MultiVMRegionTestCase.java
@@ -8542,6 +8542,13 @@ public abstract class MultiVMRegionTestCase extends RegionTestCase {
vm3.invoke(() -> this.assertNoClearTimeouts());
}
+ private void checkCCRegionTombstoneCount(String msg, int expected) {
+ int actual = CCRegion.getTombstoneCount();
+ if (expected != actual) {
+ assertEquals(msg + " region tombstone count was " + actual + " expected=" + expected + " TombstoneService=" + CCRegion.getCache().getTombstoneService(),
+ expected, actual);
+ }
+ }
public void versionTestTombstones() {
disconnectAllFromDS();
Host host = Host.getHost(0);
@@ -8601,8 +8608,7 @@ public abstract class MultiVMRegionTestCase extends RegionTestCase {
assertTrue("entry should not exist", !CCRegion.containsKey("cckey"+i));
assertTrue("entry should not contain a value", !CCRegion.containsValueForKey("cckey"+i));
}
- long count = CCRegion.getTombstoneCount();
- assertEquals("expected "+numEntries+" tombstones", numEntries, count);
+ checkCCRegionTombstoneCount("after destroys in this vm ", numEntries);
assertTrue("region should not contain a tombstone", !CCRegion.containsValue(Token.TOMBSTONE));
if (CCRegion.getScope().isDistributedNoAck()) {
sendSerialMessageToAll(); // flush the ops
@@ -8616,8 +8622,7 @@ public abstract class MultiVMRegionTestCase extends RegionTestCase {
vm1.invoke(new SerializableRunnable("check tombstone count(2)") {
@Override
public void run() {
- final long count = CCRegion.getTombstoneCount();
- assertEquals("expected "+numEntries+" tombstones", numEntries, count);
+ checkCCRegionTombstoneCount("after destroys in other vm ", numEntries);
WaitCriterion waitForExpiration = new WaitCriterion() {
@Override
public boolean done() {
@@ -8626,7 +8631,7 @@ public abstract class MultiVMRegionTestCase extends RegionTestCase {
@Override
public String description() {
return "Waiting for all tombstones to expire. There are now " + CCRegion.getTombstoneCount()
- + " tombstones left out of " + count + " initial tombstones. " + CCRegion.getCache().getTombstoneService();
+ + " tombstones left out of " + numEntries + " initial tombstones. " + CCRegion.getCache().getTombstoneService();
}
};
try {
@@ -8642,8 +8647,7 @@ public abstract class MultiVMRegionTestCase extends RegionTestCase {
vm0.invoke(new SerializableRunnable("create/destroy entries and check tombstone count") {
@Override
public void run() {
- long count = CCRegion.getTombstoneCount();
- final long origCount = count;
+ final int origCount = CCRegion.getTombstoneCount();
try {
WaitCriterion waitForExpiration = new WaitCriterion() {
@Override
@@ -8663,8 +8667,7 @@ public abstract class MultiVMRegionTestCase extends RegionTestCase {
CCRegion.destroy("cckey" + i);
}
logger.debug("done creating tombstones. current count={}", CCRegion.getTombstoneCount());
- count = CCRegion.getTombstoneCount();
- assertEquals(numEntries, count);
+ checkCCRegionTombstoneCount("after create+destroy in this vm ", numEntries);
assertEquals(0, CCRegion.size());
afterCreates = 0;
AttributesMutator m = CCRegion.getAttributesMutator();
@@ -8690,7 +8693,7 @@ public abstract class MultiVMRegionTestCase extends RegionTestCase {
vm1.invoke(new SerializableRunnable("check tombstone count and install listener") {
@Override
public void run() {
- assertEquals(numEntries, CCRegion.getTombstoneCount());
+ checkCCRegionTombstoneCount("after create+destroy in other vm ", numEntries);
afterCreates = 0;
AttributesMutator m = CCRegion.getAttributesMutator();
m.addCacheListener(new CacheListenerAdapter() {
@@ -8713,8 +8716,7 @@ public abstract class MultiVMRegionTestCase extends RegionTestCase {
for (int i=0; i<numEntries; i++) {
CCRegion.create("cckey" + i, i);
}
- long count = CCRegion.getTombstoneCount();
- assertEquals("expected zero tombstones", 0, count);
+ checkCCRegionTombstoneCount("after create in this vm", 0);
assertEquals("expected "+numEntries+" afterCreates", numEntries, afterCreates);
assertEquals(numEntries, CCRegion.size());
if (CCRegion.getScope().isDistributedNoAck()) {
@@ -8741,8 +8743,7 @@ public abstract class MultiVMRegionTestCase extends RegionTestCase {
vm1.invoke(new SerializableRunnable("check afterCreate and tombstone count") {
@Override
public void run() {
- long count = CCRegion.getTombstoneCount();
- assertEquals("expected zero tombstones", 0, count);
+ checkCCRegionTombstoneCount("after create in other vm", 0);
assertEquals("expected "+numEntries+" afterCreates", numEntries, afterCreates);
assertEquals(numEntries, CCRegion.size());
WaitCriterion waitForExpiration = new WaitCriterion() {