[infinispan-commits] Infinispan SVN: r1523 - trunk/core/src/test/java/org/infinispan/jmx.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Fri Feb 19 09:37:57 EST 2010
Author: manik.surtani at jboss.com
Date: 2010-02-19 09:37:57 -0500 (Fri, 19 Feb 2010)
New Revision: 1523
Modified:
trunk/core/src/test/java/org/infinispan/jmx/RpcManagerMBeanTest.java
Log:
More reliable test
Modified: trunk/core/src/test/java/org/infinispan/jmx/RpcManagerMBeanTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/jmx/RpcManagerMBeanTest.java 2010-02-19 14:37:32 UTC (rev 1522)
+++ trunk/core/src/test/java/org/infinispan/jmx/RpcManagerMBeanTest.java 2010-02-19 14:37:57 UTC (rev 1523)
@@ -24,6 +24,10 @@
import javax.management.Attribute;
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -123,14 +127,14 @@
assert mBeanServer.getAttribute(rpcManager1, "ReplicationFailures").equals((long) 0);
assert mBeanServer.getAttribute(rpcManager1, "SuccessRatio").equals("N/A");
- cache1.put("a1", "b1");
- cache1.put("a2", "b2");
- cache1.put("a3", "b3");
- cache1.put("a4", "b4");
+ cache1.put("a1", new SlowToSerialize("b1", 50));
+ cache1.put("a2", new SlowToSerialize("b2", 50));
+ cache1.put("a3", new SlowToSerialize("b3", 50));
+ cache1.put("a4", new SlowToSerialize("b4", 50));
assert mBeanServer.getAttribute(rpcManager1, "ReplicationCount").equals((long) 4);
assert mBeanServer.getAttribute(rpcManager1, "SuccessRatio").equals("100%");
Object avgReplTime = mBeanServer.getAttribute(rpcManager1, "AverageReplicationTime");
- assert !avgReplTime.equals((long) 0) : "Expected 0, was " + avgReplTime;
+ assert !avgReplTime.equals((long) 0) : "Expected !0, was " + avgReplTime;
RpcManagerImpl rpcManager = (RpcManagerImpl) TestingUtil.extractComponent(cache1, RpcManager.class);
Transport originalTransport = rpcManager.getTransport();
@@ -151,8 +155,7 @@
rpcManager.setTransport(transport);
cache1.put("a5", "b5");
assert false : "rpc manager should have thrown an exception";
- } catch (Throwable e) {
- log.debug("Expected exception "+ e);
+ } catch (Throwable expected) {
//expected
assertEquals(mBeanServer.getAttribute(rpcManager1, "SuccessRatio"), ("80%"));
}
@@ -161,6 +164,45 @@
}
}
+ private static class SlowToSerialize implements Externalizable {
+ String val;
+ transient long delay;
+
+ private SlowToSerialize(String val, long delay) {
+ this.val = val;
+ this.delay = delay;
+ }
+
+ @Override
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(val);
+ TestingUtil.sleepThread(delay);
+ }
+
+ @Override
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ val = (String) in.readObject();
+ TestingUtil.sleepThread(delay);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ SlowToSerialize that = (SlowToSerialize) o;
+
+ if (val != null ? !val.equals(that.val) : that.val != null) return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return val != null ? val.hashCode() : 0;
+ }
+ }
+
@Test(dependsOnMethods = "testSuccessRatio")
public void testAddressInformation() throws Exception {
MBeanServer mBeanServer = PerThreadMBeanServerLookup.getThreadMBeanServer();
More information about the infinispan-commits
mailing list