public static Test.BackgroundPrx allTests(Ice.Communicator communicator) { string sref = "background:default -p 12010"; Ice.ObjectPrx obj = communicator.stringToProxy(sref); test(obj != null); BackgroundPrx background = BackgroundPrxHelper.uncheckedCast(obj); sref = "backgroundController:tcp -p 12011"; obj = communicator.stringToProxy(sref); test(obj != null); BackgroundControllerPrx backgroundController = BackgroundControllerPrxHelper.uncheckedCast(obj); Configuration configuration = Configuration.getInstance(); Console.Write("testing connect... "); Console.Out.Flush(); { connectTests(configuration, background); } Console.Out.WriteLine("ok"); Console.Write("testing initialization... "); Console.Out.Flush(); { initializeTests(configuration, background, backgroundController); } Console.Out.WriteLine("ok"); Console.Write("testing connection validation... "); Console.Out.Flush(); { validationTests(configuration, background, backgroundController); } Console.Out.WriteLine("ok"); Console.Write("testing read/write... "); Console.Out.Flush(); { readWriteTests(configuration, background, backgroundController); } Console.Out.WriteLine("ok"); Console.Write("testing locator... "); Console.Out.Flush(); { Ice.LocatorPrx locator; obj = communicator.stringToProxy("locator:default -p 12010").ice_invocationTimeout(250); locator = Ice.LocatorPrxHelper.uncheckedCast(obj); obj = communicator.stringToProxy("background@Test").ice_locator(locator).ice_oneway(); backgroundController.pauseCall("findAdapterById"); try { obj.ice_ping(); test(false); } catch (Ice.TimeoutException) { } backgroundController.resumeCall("findAdapterById"); obj = communicator.stringToProxy("locator:default -p 12010"); locator = Ice.LocatorPrxHelper.uncheckedCast(obj); obj = obj.ice_locator(locator); obj.ice_ping(); obj = communicator.stringToProxy("background@Test").ice_locator(locator); BackgroundPrx bg = BackgroundPrxHelper.uncheckedCast(obj); backgroundController.pauseCall("findAdapterById"); Ice.AsyncResult r1 = bg.begin_op(); Ice.AsyncResult r2 = bg.begin_op(); test(!r1.IsCompleted); test(!r2.IsCompleted); backgroundController.resumeCall("findAdapterById"); bg.end_op(r1); bg.end_op(r2); test(r1.IsCompleted); test(r2.IsCompleted); } Console.Out.WriteLine("ok"); Console.Write("testing router... "); Console.Out.Flush(); { Ice.RouterPrx router; obj = communicator.stringToProxy("router:default -p 12010").ice_invocationTimeout(250); router = Ice.RouterPrxHelper.uncheckedCast(obj); obj = communicator.stringToProxy("background@Test").ice_router(router).ice_oneway(); backgroundController.pauseCall("getClientProxy"); try { obj.ice_ping(); test(false); } catch (Ice.TimeoutException) { } backgroundController.resumeCall("getClientProxy"); obj = communicator.stringToProxy("router:default -p 12010"); router = Ice.RouterPrxHelper.uncheckedCast(obj); obj = communicator.stringToProxy("background@Test").ice_router(router); BackgroundPrx bg = BackgroundPrxHelper.uncheckedCast(obj); test(bg.ice_getRouter() != null); backgroundController.pauseCall("getClientProxy"); Ice.AsyncResult r1 = bg.begin_op(); Ice.AsyncResult r2 = bg.begin_op(); test(!r1.IsCompleted); test(!r2.IsCompleted); backgroundController.resumeCall("getClientProxy"); bg.end_op(r1); bg.end_op(r2); test(r1.IsCompleted); test(r2.IsCompleted); } Console.Out.WriteLine("ok"); bool ws = communicator.getProperties().getProperty("Ice.Default.Protocol").Equals("test-ws"); bool wss = communicator.getProperties().getProperty("Ice.Default.Protocol").Equals("test-wss"); if (!ws && !wss) { Console.Write("testing buffered transport... "); Console.Out.Flush(); configuration.buffered(true); backgroundController.buffered(true); background.begin_op(); background.ice_getCachedConnection().close(true); background.begin_op(); OpAMICallback cb = new OpAMICallback(); List <Ice.AsyncResult> results = new List <Ice.AsyncResult>(); for (int i = 0; i < 10000; ++i) { Ice.AsyncResult r = background.begin_op().whenCompleted(cb.responseNoOp, cb.noException); results.Add(r); if (i % 50 == 0) { backgroundController.holdAdapter(); backgroundController.resumeAdapter(); } if (i % 100 == 0) { r.waitForCompleted(); } } foreach (Ice.AsyncResult r in results) { r.waitForCompleted(); } Console.Out.WriteLine("ok"); } return(background); }
public static Test.BackgroundPrx allTests(Test.TestHelper helper) { Ice.Communicator communicator = helper.communicator(); string sref = "background:" + helper.getTestEndpoint(0); Ice.ObjectPrx obj = communicator.stringToProxy(sref); test(obj != null); BackgroundPrx background = BackgroundPrxHelper.uncheckedCast(obj); sref = "backgroundController:" + helper.getTestEndpoint(1, "tcp"); obj = communicator.stringToProxy(sref); test(obj != null); BackgroundControllerPrx backgroundController = BackgroundControllerPrxHelper.uncheckedCast(obj); Configuration configuration = Configuration.getInstance(); Console.Write("testing connect... "); Console.Out.Flush(); { connectTests(configuration, background); } Console.Out.WriteLine("ok"); Console.Write("testing initialization... "); Console.Out.Flush(); { initializeTests(configuration, background, backgroundController); } Console.Out.WriteLine("ok"); Console.Write("testing connection validation... "); Console.Out.Flush(); { validationTests(configuration, background, backgroundController); } Console.Out.WriteLine("ok"); Console.Write("testing read/write... "); Console.Out.Flush(); { readWriteTests(configuration, background, backgroundController); } Console.Out.WriteLine("ok"); Console.Write("testing locator... "); Console.Out.Flush(); { Ice.LocatorPrx locator; obj = communicator.stringToProxy("locator:" + helper.getTestEndpoint(0)).ice_invocationTimeout(250); locator = Ice.LocatorPrxHelper.uncheckedCast(obj); obj = communicator.stringToProxy("background@Test").ice_locator(locator).ice_oneway(); backgroundController.pauseCall("findAdapterById"); try { obj.ice_ping(); test(false); } catch (Ice.TimeoutException) { } backgroundController.resumeCall("findAdapterById"); obj = communicator.stringToProxy("locator:" + helper.getTestEndpoint(0)); locator = Ice.LocatorPrxHelper.uncheckedCast(obj); obj = obj.ice_locator(locator); obj.ice_ping(); obj = communicator.stringToProxy("background@Test").ice_locator(locator); BackgroundPrx bg = BackgroundPrxHelper.uncheckedCast(obj); backgroundController.pauseCall("findAdapterById"); var t1 = bg.opAsync(); var t2 = bg.opAsync(); test(!t1.IsCompleted); test(!t2.IsCompleted); backgroundController.resumeCall("findAdapterById"); t1.Wait(); t2.Wait(); test(t1.IsCompleted); test(t2.IsCompleted); } Console.Out.WriteLine("ok"); Console.Write("testing router... "); Console.Out.Flush(); { Ice.RouterPrx router; obj = communicator.stringToProxy("router:" + helper.getTestEndpoint(0)).ice_invocationTimeout(250); router = Ice.RouterPrxHelper.uncheckedCast(obj); obj = communicator.stringToProxy("background@Test").ice_router(router).ice_oneway(); backgroundController.pauseCall("getClientProxy"); try { obj.ice_ping(); test(false); } catch (Ice.TimeoutException) { } backgroundController.resumeCall("getClientProxy"); obj = communicator.stringToProxy("router:" + helper.getTestEndpoint(0)); router = Ice.RouterPrxHelper.uncheckedCast(obj); obj = communicator.stringToProxy("background@Test").ice_router(router); BackgroundPrx bg = BackgroundPrxHelper.uncheckedCast(obj); test(bg.ice_getRouter() != null); backgroundController.pauseCall("getClientProxy"); var t1 = bg.opAsync(); var t2 = bg.opAsync(); test(!t1.IsCompleted); test(!t2.IsCompleted); backgroundController.resumeCall("getClientProxy"); t1.Wait(); t2.Wait(); test(t1.IsCompleted); test(t2.IsCompleted); } Console.Out.WriteLine("ok"); bool ws = communicator.getProperties().getProperty("Ice.Default.Protocol").Equals("test-ws"); bool wss = communicator.getProperties().getProperty("Ice.Default.Protocol").Equals("test-wss"); if (!ws && !wss) { Console.Write("testing buffered transport... "); Console.Out.Flush(); configuration.buffered(true); backgroundController.buffered(true); background.opAsync(); background.ice_getCachedConnection().close(Ice.ConnectionClose.Forcefully); background.opAsync(); OpAMICallback cb = new OpAMICallback(); var results = new List <Task>(); for (int i = 0; i < 10000; ++i) { var t = background.opAsync().ContinueWith((Task p) => { try { p.Wait(); cb.responseNoOp(); } catch (Ice.Exception ex) { cb.noException(ex); } }); results.Add(t); if (i % 50 == 0) { backgroundController.holdAdapter(); backgroundController.resumeAdapter(); } if (i % 100 == 0) { t.Wait(); } } Task.WaitAll(results.ToArray()); Console.Out.WriteLine("ok"); } return(background); }