[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