summaryrefslogtreecommitdiff
path: root/php/test/Ice/acm/Client.php
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2014-07-23 10:23:31 -0700
committerMark Spruiell <mes@zeroc.com>2014-07-23 10:23:31 -0700
commit78ceddde5c628df3ccbfb3f86eb17a59f776b92d (patch)
tree046e536a60303cdbdfa052b0b3223a0c8a0755c8 /php/test/Ice/acm/Client.php
parentWindows 64 build failure (diff)
downloadice-78ceddde5c628df3ccbfb3f86eb17a59f776b92d.tar.bz2
ice-78ceddde5c628df3ccbfb3f86eb17a59f776b92d.tar.xz
ice-78ceddde5c628df3ccbfb3f86eb17a59f776b92d.zip
adding ACM tests for Python/Ruby/PHP
Diffstat (limited to 'php/test/Ice/acm/Client.php')
-rw-r--r--php/test/Ice/acm/Client.php97
1 files changed, 97 insertions, 0 deletions
diff --git a/php/test/Ice/acm/Client.php b/php/test/Ice/acm/Client.php
new file mode 100644
index 00000000000..42ccae18448
--- /dev/null
+++ b/php/test/Ice/acm/Client.php
@@ -0,0 +1,97 @@
+<?
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+error_reporting(E_ALL | E_STRICT);
+
+if(!extension_loaded("ice"))
+{
+ echo "\nerror: Ice extension is not loaded.\n\n";
+ exit(1);
+}
+
+$NS = function_exists("Ice\\initialize");
+require_once ($NS ? 'Ice_ns.php' : 'Ice.php');
+require_once 'Test.php';
+
+function test($b)
+{
+ if(!$b)
+ {
+ $bt = debug_backtrace();
+ die("\ntest failed in ".$bt[0]["file"]." line ".$bt[0]["line"]."\n");
+ }
+}
+
+function allTests($communicator)
+{
+ global $NS;
+
+ echo "testing setACM/getACM... ";
+ flush();
+
+ $ref = "communicator:default -p 12010";
+ $com = $communicator->stringToProxy($ref)->ice_uncheckedCast("::Test::RemoteCommunicator");
+
+ $adapter = $com->createObjectAdapter(-1, -1, -1);
+
+ $initData = $NS ? eval("return new Ice\\InitializationData;") : new Ice_InitializationData;
+ $initData->properties = $communicator->getProperties()->clone();
+ $initData->properties->setProperty("Ice.ACM.Timeout", "1");
+ $initData->properties->setProperty("Ice.ACM.Client.Timeout", "15");
+ $initData->properties->setProperty("Ice.ACM.Client.Close", "4");
+ $initData->properties->setProperty("Ice.ACM.Client.Heartbeat", "2");
+ $testCommunicator = $NS ? eval("return Ice\\initialize(\$initData);") : Ice_initialize($initData);
+ $proxy = $testCommunicator->stringToProxy($adapter->getTestIntf()->ice_toString())->ice_uncheckedCast(
+ "::Test::TestIntf");
+ $proxy->ice_getConnection();
+
+ $CloseOnIdleForceful =
+ $NS ? constant("Ice\\ACMClose::CloseOnIdleForceful") : constant("Ice_ACMClose::CloseOnIdleForceful");
+ $CloseOnInvocationAndIdle =
+ $NS ? constant("Ice\\ACMClose::CloseOnInvocationAndIdle") : constant("Ice_ACMClose::CloseOnInvocationAndIdle");
+ $HeartbeatOnIdle =
+ $NS ? constant("Ice\\ACMHeartbeat::HeartbeatOnIdle") : constant("Ice_ACMHeartbeat::HeartbeatOnIdle");
+ $HeartbeatOnInvocation =
+ $NS ? constant("Ice\\ACMHeartbeat::HeartbeatOnInvocation") :
+ constant("Ice_ACMHeartbeat::HeartbeatOnInvocation");
+
+ $acm = $proxy->ice_getCachedConnection()->getACM();
+ test($acm->timeout == 15);
+ test($acm->close == $CloseOnIdleForceful);
+ test($acm->heartbeat == $HeartbeatOnIdle);
+
+ $proxy->ice_getCachedConnection()->setACM(Ice_Unset, Ice_Unset, Ice_Unset);
+ $acm = $proxy->ice_getCachedConnection()->getACM();
+ test($acm->timeout == 15);
+ test($acm->close == $CloseOnIdleForceful);
+ test($acm->heartbeat == $HeartbeatOnIdle);
+
+ $proxy->ice_getCachedConnection()->setACM(20, $CloseOnInvocationAndIdle, $HeartbeatOnInvocation);
+ $acm = $proxy->ice_getCachedConnection()->getACM();
+ test($acm->timeout == 20);
+ test($acm->close == $CloseOnInvocationAndIdle);
+ test($acm->heartbeat == $HeartbeatOnInvocation);
+
+ $adapter->deactivate();
+ $testCommunicator->destroy();
+ echo "ok\n";
+
+ echo "shutting down... ";
+ flush();
+ $com->shutdown();
+ echo "ok\n";
+}
+
+$communicator = Ice_initialize($argv);
+allTests($communicator);
+$communicator->destroy();
+
+exit();
+?>