VTNModeListenerStub stub1 = new VTNModeListenerStub();
VTNModeListenerStub stub2 = new VTNModeListenerStub();
+ mgr.addVTNModeListener(stub1);
+ stub1.checkCalledInfo(1, Boolean.FALSE);
+
VTenantPath tpath = new VTenantPath("tenant");
Status st = mgr.addTenant(tpath, new VTenantConfig(null));
assertEquals(StatusCode.SUCCESS, st.getCode());
flushTasks();
- stub1.checkCalledInfo(0);
- stub2.checkCalledInfo(0);
-
- mgr.addVTNModeListener(stub1);
stub1.checkCalledInfo(1, Boolean.TRUE);
+ stub2.checkCalledInfo(0);
mgr.addVTNModeListener(stub2);
stub2.checkCalledInfo(1, Boolean.TRUE);
pmapAware.checkPmapInfo(3, ifp2, pmconf, UpdateType.ADDED);
mgr.removeVTNManagerAware(pmapAware);
- mgr.addVTNManagerAware(awareStub);
flushTasks();
+ mgr.addVTNManagerAware(awareStub);
awareStub.checkVtnInfo(1, tpath, UpdateType.ADDED);
awareStub.checkVbrInfo(1, bpath, UpdateType.ADDED);
awareStub.checkVIfInfo(3, ifp2, UpdateType.ADDED);
// Add an IVTNManagerAware listener. This should report current
// configuration, including MAC mapping.
OrderedVTNListener listener = new OrderedVTNListener();
+ flushTasks();
mgr.addVTNManagerAware(listener);
listener.checkEvent(VTNListenerType.VTN, tpath, vtn, UpdateType.ADDED);
for (int i = 0; i < bridges.size(); i++) {
VTNModeListenerStub stub = new VTNModeListenerStub();
vtnMgr.addVTNModeListener(stub);
- stub.checkCalledInfo(1);
+ stub.checkCalledInfo(1, Boolean.FALSE);
// create tenant and bridges
VTenantPath tpath = new VTenantPath("tenant");
Status st = vtnMgr.addTenant(tpath, new VTenantConfig("desc"));
assertEquals(StatusCode.SUCCESS, st.getCode());
- stub.checkCalledInfo(1);
+ stub.checkCalledInfo(1, Boolean.TRUE);
ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();
VTNThreadData data = VTNThreadData.create(rwLock.writeLock());
// setModeChanged() and cleanup() are called in removeTenant().
st = vtnMgr.removeTenant(tpath);
assertEquals(StatusCode.SUCCESS, st.getCode());
- stub.checkCalledInfo(1);
+ stub.checkCalledInfo(1, Boolean.FALSE);
data = VTNThreadData.create(rwLock.writeLock());
data.cleanUp(vtnMgr);
private int calledCount = 0;
private Boolean oldactive = null;
+ /**
+ * The number of milliseconds to wait for VTN events.
+ */
+ private static final long EVENT_TIMEOUT = 10000L;
@Override
public synchronized void vtnModeChanged(boolean active) {
private synchronized int getCalledCount(int expected) {
if (calledCount < expected) {
- long milli = 1000;
+ long milli = EVENT_TIMEOUT;
long limit = System.currentTimeMillis() + milli;
do {
try {
private synchronized Boolean getCalledArg() {
if (oldactive == null) {
- long milli = 1000;
+ long milli = EVENT_TIMEOUT;
long limit = System.currentTimeMillis() + milli;
do {
try {