public static void allTests(Test.TestHelper helper, List <int> ports) { Ice.Communicator communicator = helper.communicator(); var output = helper.getWriter(); output.Write("testing stringToProxy... "); output.Flush(); string refString = "test"; for (int i = 0; i < ports.Count; i++) { refString += ":" + helper.getTestEndpoint(ports[i]); } Ice.ObjectPrx basePrx = communicator.stringToProxy(refString); test(basePrx != null); output.WriteLine("ok"); output.Write("testing checked cast... "); output.Flush(); TestIntfPrx obj = TestIntfPrxHelper.checkedCast(basePrx); test(obj != null); test(obj.Equals(basePrx)); output.WriteLine("ok"); int oldPid = 0; bool ami = false; for (int i = 1, j = 0; i <= ports.Count; ++i, ++j) { if (j > 3) { j = 0; ami = !ami; } if (!ami) { output.Write("testing server #" + i + "... "); output.Flush(); int pid = obj.pid(); test(pid != oldPid); output.WriteLine("ok"); oldPid = pid; } else { output.Write("testing server #" + i + " with AMI... "); output.Flush(); Callback cb = new Callback(); int pid = -1; obj.begin_pid().whenCompleted( (int p) => { pid = p; cb.called(); }, (Ice.Exception ex) => { output.WriteLine(ex.ToString()); test(false); }); cb.check(); test(pid != oldPid); output.WriteLine("ok"); oldPid = pid; } if (j == 0) { if (!ami) { output.Write("shutting down server #" + i + "... "); output.Flush(); obj.shutdown(); output.WriteLine("ok"); } else { output.Write("shutting down server #" + i + " with AMI... "); Callback cb = new Callback(); obj.begin_shutdown().whenCompleted( () => { cb.called(); }, (Ice.Exception ex) => { output.WriteLine(ex.ToString()); test(false); }); cb.check(); output.WriteLine("ok"); } } else if (j == 1 || i + 1 > ports.Count) { if (!ami) { output.Write("aborting server #" + i + "... "); output.Flush(); try { obj.abort(); test(false); } catch (Ice.ConnectionLostException) { output.WriteLine("ok"); } catch (Ice.ConnectFailedException) { output.WriteLine("ok"); } catch (Ice.SocketException) { output.WriteLine("ok"); } } else { output.Write("aborting server #" + i + " with AMI... "); output.Flush(); Callback cb = new Callback(); obj.begin_abort().whenCompleted( () => { test(false); }, (Ice.Exception ex) => { exceptAbortI(ex, output); cb.called(); }); cb.check(); output.WriteLine("ok"); } } else if (j == 2 || j == 3) { if (!ami) { output.Write("aborting server #" + i + " and #" + (i + 1) + " with idempotent call... "); output.Flush(); try { obj.idempotentAbort(); test(false); } catch (Ice.ConnectionLostException) { output.WriteLine("ok"); } catch (Ice.ConnectFailedException) { output.WriteLine("ok"); } catch (Ice.SocketException) { output.WriteLine("ok"); } } else { output.Write("aborting server #" + i + " and #" + (i + 1) + " with idempotent AMI call... "); output.Flush(); Callback cb = new Callback(); obj.begin_idempotentAbort().whenCompleted( () => { test(false); }, (Ice.Exception ex) => { exceptAbortI(ex, output); cb.called(); }); cb.check(); output.WriteLine("ok"); } ++i; } else { Debug.Assert(false); } } output.Write("testing whether all servers are gone... "); output.Flush(); try { obj.ice_ping(); test(false); } catch (Ice.LocalException) { output.WriteLine("ok"); } }
public static void allTests(TestCommon.Application app, List <int> ports) { Ice.Communicator communicator = app.communicator(); Write("testing stringToProxy... "); Flush(); string refString = "test"; for (int i = 0; i < ports.Count; i++) { refString += ":" + app.getTestEndpoint(ports[i]); } Ice.ObjectPrx basePrx = communicator.stringToProxy(refString); test(basePrx != null); WriteLine("ok"); Write("testing checked cast... "); Flush(); TestIntfPrx obj = TestIntfPrxHelper.checkedCast(basePrx); test(obj != null); test(obj.Equals(basePrx)); WriteLine("ok"); if (IceInternal.AssemblyUtil.runtime_ == IceInternal.AssemblyUtil.Runtime.Mono) { WriteLine(""); WriteLine("This test aborts a number of server processes."); WriteLine("Test output may be interspersed with \"killed\" message from the shell."); WriteLine("These messages are expected and do NOT indicate a test failure."); WriteLine(""); } int oldPid = 0; bool ami = false; for (int i = 1, j = 0; i <= ports.Count; ++i, ++j) { if (j > 3) { j = 0; ami = !ami; } if (!ami) { Write("testing server #" + i + "... "); Flush(); int pid = obj.pid(); test(pid != oldPid); WriteLine("ok"); oldPid = pid; } else { Write("testing server #" + i + " with AMI... "); Flush(); Callback cb = new Callback(); int pid = -1; obj.begin_pid().whenCompleted( (int p) => { pid = p; cb.called(); }, (Ice.Exception ex) => { WriteLine(ex.ToString()); test(false); }); cb.check(); test(pid != oldPid); WriteLine("ok"); oldPid = pid; } if (j == 0) { if (!ami) { Write("shutting down server #" + i + "... "); Flush(); obj.shutdown(); WriteLine("ok"); } else { Write("shutting down server #" + i + " with AMI... "); Callback cb = new Callback(); obj.begin_shutdown().whenCompleted( () => { cb.called(); }, (Ice.Exception ex) => { WriteLine(ex.ToString()); test(false); }); cb.check(); WriteLine("ok"); } } else if (j == 1 || i + 1 > ports.Count) { if (!ami) { Write("aborting server #" + i + "... "); Flush(); try { obj.abort(); test(false); } catch (Ice.ConnectionLostException) { WriteLine("ok"); } catch (Ice.ConnectFailedException) { WriteLine("ok"); } catch (Ice.SocketException) { WriteLine("ok"); } } else { Write("aborting server #" + i + " with AMI... "); Flush(); Callback cb = new Callback(); obj.begin_abort().whenCompleted( () => { test(false); }, (Ice.Exception ex) => { exceptAbortI(ex); cb.called(); }); cb.check(); WriteLine("ok"); } } else if (j == 2 || j == 3) { if (!ami) { Write("aborting server #" + i + " and #" + (i + 1) + " with idempotent call... "); Flush(); try { obj.idempotentAbort(); test(false); } catch (Ice.ConnectionLostException) { WriteLine("ok"); } catch (Ice.ConnectFailedException) { WriteLine("ok"); } catch (Ice.SocketException) { WriteLine("ok"); } } else { Write("aborting server #" + i + " and #" + (i + 1) + " with idempotent AMI call... "); Flush(); Callback cb = new Callback(); obj.begin_idempotentAbort().whenCompleted( () => { test(false); }, (Ice.Exception ex) => { exceptAbortI(ex); cb.called(); }); cb.check(); WriteLine("ok"); } ++i; } else { Debug.Assert(false); } } Write("testing whether all servers are gone... "); Flush(); try { obj.ice_ping(); test(false); } catch (Ice.LocalException) { WriteLine("ok"); } }
public static void allTests(Ice.Communicator communicator, List <int> ports) #endif { #if SILVERLIGHT List <int> ports = new List <int>(); { int basePort = 12340; for (int i = 0; i < 12; i++) { ports.Add(basePort + i); } } #endif Write("testing stringToProxy... "); Flush(); string refString = "test"; for (int i = 0; i < ports.Count; i++) { refString += ":default -p " + ports[i]; } Ice.ObjectPrx basePrx = communicator.stringToProxy(refString); test(basePrx != null); WriteLine("ok"); Write("testing checked cast... "); Flush(); TestIntfPrx obj = TestIntfPrxHelper.checkedCast(basePrx); test(obj != null); test(obj.Equals(basePrx)); WriteLine("ok"); if (IceInternal.AssemblyUtil.runtime_ == IceInternal.AssemblyUtil.Runtime.Mono) { WriteLine(""); WriteLine("This test aborts a number of server processes."); WriteLine("Test output may be interspersed with \"killed\" message from the shell."); WriteLine("These messages are expected and do NOT indicate a test failure."); WriteLine(""); } int oldPid = 0; bool ami = false; for (int i = 1, j = 0; i <= ports.Count; ++i, ++j) { if (j > 3) { j = 0; ami = !ami; } if (!ami) { Write("testing server #" + i + "... "); Flush(); int pid = obj.pid(); test(pid != oldPid); WriteLine("ok"); oldPid = pid; } else { Write("testing server #" + i + " with AMI... "); Flush(); Callback cb = new Callback(); obj.begin_pid().whenCompleted(cb.opPidI, cb.exception); cb.check(); int pid = cb.pid(); test(pid != oldPid); WriteLine("ok"); oldPid = pid; } if (j == 0) { if (!ami) { Write("shutting down server #" + i + "... "); Flush(); obj.shutdown(); WriteLine("ok"); } else { Write("shutting down server #" + i + " with AMI... "); Callback cb = new Callback(); obj.begin_shutdown().whenCompleted(cb.opShutdownI, cb.exception); cb.check(); WriteLine("ok"); } } else if (j == 1 || i + 1 > ports.Count) { if (!ami) { Write("aborting server #" + i + "... "); Flush(); try { obj.abort(); test(false); } catch (Ice.ConnectionLostException) { WriteLine("ok"); } catch (Ice.ConnectFailedException) { WriteLine("ok"); } catch (Ice.SocketException) { WriteLine("ok"); } } else { Write("aborting server #" + i + " with AMI... "); Flush(); Callback cb = new Callback(); obj.begin_abort().whenCompleted(cb.response, cb.exceptAbortI); cb.check(); WriteLine("ok"); } } else if (j == 2 || j == 3) { if (!ami) { Write("aborting server #" + i + " and #" + (i + 1) + " with idempotent call... "); Flush(); try { obj.idempotentAbort(); test(false); } catch (Ice.ConnectionLostException) { WriteLine("ok"); } catch (Ice.ConnectFailedException) { WriteLine("ok"); } catch (Ice.SocketException) { WriteLine("ok"); } } else { Write("aborting server #" + i + " and #" + (i + 1) + " with idempotent AMI call... "); Flush(); Callback cb = new Callback(); obj.begin_idempotentAbort().whenCompleted(cb.response, cb.exceptAbortI); cb.check(); WriteLine("ok"); } ++i; } else { Debug.Assert(false); } } Write("testing whether all servers are gone... "); Flush(); try { obj.ice_ping(); test(false); } catch (Ice.LocalException) { WriteLine("ok"); } }