1 package org.sapia.ubik.rmi.server; 2 3 import junit.framework.TestCase; 4 5 6 14 public class ServerGCTest extends TestCase { 15 public ServerGCTest(String name) { 16 super(name); 17 } 18 19 public void testRegisterRef() throws Exception { 20 OID oid = new OID(1); 21 VmId vmid = new VmId(1); 22 23 Hub.serverRuntime.gc.registerRef(vmid, oid, "addr_1"); 24 super.assertTrue(Hub.serverRuntime.gc.getRefCount(vmid, oid) == 1); 25 } 26 27 public void testUnregisterRef() throws Exception { 28 OID oid = new OID(2); 29 VmId vmid = new VmId(1); 30 Hub.serverRuntime.gc.registerRef(vmid, oid, "addr_2"); 31 Hub.serverRuntime.gc.dereference(vmid, oid); 32 super.assertTrue(Hub.serverRuntime.gc.getRefCount(vmid, oid) == 0); 33 } 34 35 public void testMultiVm() throws Exception { 36 VmId vm1 = new VmId(1); 37 VmId vm2 = new VmId(2); 38 VmId vm3 = new VmId(3); 39 OID oid = new OID(3); 40 String obj = "object3"; 41 42 Hub.serverRuntime.gc.registerRef(vm1, oid, obj); 43 super.assertTrue(Hub.serverRuntime.gc.getRefCount(vm1, oid) == 1); 44 Hub.serverRuntime.gc.registerRef(vm2, oid, obj); 45 super.assertEquals(2, Hub.serverRuntime.gc.getRefCount(vm2, oid)); 46 super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm1, oid)); 47 super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm2, oid)); 48 49 Hub.serverRuntime.gc.registerRef(vm3, oid, obj); 50 super.assertEquals(3, Hub.serverRuntime.gc.getRefCount(vm3, oid)); 51 super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm1, oid)); 52 super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm2, oid)); 53 super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm3, oid)); 54 55 Hub.serverRuntime.gc.dereference(vm1, oid); 56 super.assertEquals(2, Hub.serverRuntime.gc.getRefCount(vm1, oid)); 57 super.assertEquals(0, Hub.serverRuntime.gc.getSpecificCount(vm1, oid)); 58 super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm2, oid)); 59 super.assertEquals(1, Hub.serverRuntime.gc.getSpecificCount(vm3, oid)); 60 } 61 } 62 | Popular Tags |