summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-12-12 12:30:05 +0100
committerBenoit Foucher <benoit@zeroc.com>2012-12-12 12:30:05 +0100
commit5cf112b3048a977aa51b4d879ea6bfdf18aee05c (patch)
tree4f0b82075c309c52689decd4b787fc546ac50023
parentFixed ICE-5133: Python 3.3 support for metrics demo (diff)
downloadice-5cf112b3048a977aa51b4d879ea6bfdf18aee05c.tar.bz2
ice-5cf112b3048a977aa51b4d879ea6bfdf18aee05c.tar.xz
ice-5cf112b3048a977aa51b4d879ea6bfdf18aee05c.zip
Fixed ICE-5135 - Added expect.py script Python metrics demo
-rwxr-xr-xpy/allDemos.py1
-rwxr-xr-xpy/demo/Ice/metrics/expect.py109
2 files changed, 110 insertions, 0 deletions
diff --git a/py/allDemos.py b/py/allDemos.py
index b59188e2bbd..f75bf19e564 100755
--- a/py/allDemos.py
+++ b/py/allDemos.py
@@ -31,6 +31,7 @@ demos = [
"Ice/hello",
"Ice/latency",
"Ice/minimal",
+ "Ice/metrics",
"Ice/session",
"Ice/throughput",
"Ice/value",
diff --git a/py/demo/Ice/metrics/expect.py b/py/demo/Ice/metrics/expect.py
new file mode 100755
index 00000000000..eab42e7b756
--- /dev/null
+++ b/py/demo/Ice/metrics/expect.py
@@ -0,0 +1,109 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2012 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.
+#
+# **********************************************************************
+
+import sys, os
+
+path = [ ".", "..", "../..", "../../..", "../../../.." ]
+head = os.path.dirname(sys.argv[0])
+if len(head) > 0:
+ path = [os.path.join(head, p) for p in path]
+path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "demoscript")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(path[0])
+sys.path.append(os.path.join(path[0], "scripts"))
+
+from demoscript import Util
+from demoscript.Ice import async
+
+cwd = os.getcwd();
+
+os.chdir("../hello")
+server = Util.spawn('Server.py --Ice.Admin.Endpoints="tcp -p 10002" --Ice.PrintAdapterReady')
+server.expect('.* ready')
+
+client = Util.spawn('Client.py --Ice.Admin.Endpoints="tcp -p 10003"')
+client.expect('.*==>')
+os.chdir(cwd)
+
+sys.stdout.write("testing server metrics dump... ")
+sys.stdout.flush()
+
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10002" --InstanceName=server dump')
+metrics.expect("View: ByParent")
+metrics.expect("View: Debug")
+metrics.waitTestSuccess()
+
+client.sendline('t')
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10002" --InstanceName=server dump Debug Dispatch')
+metrics.expect("hello\s\[sayHello\]\s*\|\s*0\|\s*1\|.*\|")
+metrics.waitTestSuccess()
+
+client.sendline('t')
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10002" --InstanceName=server dump Debug Dispatch')
+metrics.expect("hello\s\[sayHello\]\s*\|\s*0\|\s*2\|.*\|")
+metrics.waitTestSuccess()
+
+print("ok")
+
+
+sys.stdout.write("testing client metrics dump... ")
+sys.stdout.flush()
+
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10003" --InstanceName=client dump')
+metrics.expect("View: ByParent")
+metrics.expect("View: Debug")
+metrics.waitTestSuccess()
+
+client.sendline('t')
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10003" --InstanceName=client dump Debug Invocation')
+metrics.expect("hello -t -e 1.1 \[sayHello\]\s*\|\s*0\|\s*3\|.*")
+metrics.waitTestSuccess()
+
+client.sendline('t')
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10003" --InstanceName=client dump Debug Invocation')
+metrics.expect("hello -t -e 1.1 \[sayHello\]\s*\|\s*0\|\s*4\|.*")
+metrics.waitTestSuccess()
+
+client.sendline('o')
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10003" --InstanceName=client dump Debug Invocation')
+metrics.expect("hello -o -e 1.1 \[sayHello\]\s*\|\s*0\|\s*1\|.*")
+metrics.waitTestSuccess()
+
+print("ok")
+
+sys.stdout.write("testing view enable/disable... ")
+sys.stdout.flush()
+
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10002" --InstanceName=server disable ByParent')
+metrics.waitTestSuccess()
+
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10002" --InstanceName=server dump')
+metrics.expect("View: ([a-zA-Z]*)")
+assert metrics.match.group(1).strip() == "Debug"
+metrics.waitTestSuccess()
+
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10002" --InstanceName=server enable ByParent')
+metrics.waitTestSuccess()
+
+metrics = Util.spawn('Metrics.py --Endpoints="tcp -p 10002" --InstanceName=server dump')
+metrics.expect("View: ([a-zA-Z]*)")
+assert metrics.match.group(1).strip() == "ByParent"
+metrics.waitTestSuccess()
+
+print ("ok")
+
+client.sendline('s')
+server.waitTestSuccess()
+
+client.sendline('x')
+client.waitTestSuccess()
+
+