diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2008-02-06 15:50:51 -0330 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2008-02-06 15:50:51 -0330 |
commit | 6c6f104dbdf439783b9ebea489ff108f5d018377 (patch) | |
tree | 3a4e5f5a0496112b88fe31412f4d5061b1beaba4 /demoscript/IceGrid/icebox.py | |
parent | Fixed for slow java startup (diff) | |
download | ice-6c6f104dbdf439783b9ebea489ff108f5d018377.tar.bz2 ice-6c6f104dbdf439783b9ebea489ff108f5d018377.tar.xz ice-6c6f104dbdf439783b9ebea489ff108f5d018377.zip |
Added expect script for IceGrid/icebox demo
Diffstat (limited to 'demoscript/IceGrid/icebox.py')
-rwxr-xr-x | demoscript/IceGrid/icebox.py | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/demoscript/IceGrid/icebox.py b/demoscript/IceGrid/icebox.py new file mode 100755 index 00000000000..37189128651 --- /dev/null +++ b/demoscript/IceGrid/icebox.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python +# ********************************************************************** +# +# Copyright (c) 2003-2008 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, demoscript, time + +def run(clientStr, desc = 'application'): + print "cleaning databases...", + sys.stdout.flush() + demoscript.Util.cleanDbDir("db/node") + demoscript.Util.cleanDbDir("db/registry") + print "ok" + + if demoscript.Util.defaultHost: + args = ' --IceGrid.Node.PropertiesOverride="Ice.Default.Host=127.0.0.1"' + else: + args = '' + + print "starting icegridnode...", + sys.stdout.flush() + node = demoscript.Util.spawn('icegridnode --Ice.Config=config.grid --Ice.PrintAdapterReady %s' % (args), + language="C++") + node.expect('IceGrid.Registry.Internal ready') + node.expect('IceGrid.Registry.Server ready') + node.expect('IceGrid.Registry.AdminCallbackRouter ready') + node.expect('IceGrid.Registry.Client ready') + if demoscript.Util.defaultLanguage == "C++": + node.expect('IceGrid.Registry.AdminSessionManager ready') + node.expect('IceGrid.Node ready') + print "ok" + + print "deploying application...", + sys.stdout.flush() + admin = demoscript.Util.spawn('icegridadmin --Ice.Config=config.grid', language="C++") + admin.expect('>>>') + admin.sendline("application add \'%s.xml\'" %(desc)) + admin.expect('>>>') + print "ok" + + print "testing client...", + sys.stdout.flush() + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Homer") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Marge") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Bart") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Lisa") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Maggie") + client.waitTestSuccess(timeout=1) + print "ok" + + print "testing stop/start of services...", + sys.stdout.flush() + + admin.sendline("service stop IceBox Lisa") + admin.expect('>>>') + admin.sendline("service stop IceBox Maggie") + admin.expect('>>>') + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Homer") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Marge") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Bart") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Homer") + client.waitTestSuccess(timeout=1) + + admin.sendline("service start IceBox Lisa") + admin.expect('>>>') + admin.sendline("service start IceBox Maggie") + admin.expect('>>>') + + admin.sendline("service stop IceBox Homer") + admin.expect('>>>') + admin.sendline("service stop IceBox Marge") + admin.expect('>>>') + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Bart") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Lisa") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Maggie") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Bart") + client.waitTestSuccess(timeout=1) + + print "ok" + + if demoscript.Util.defaultLanguage == "C++": + print "testing administration with Glacier2...", + sys.stdout.flush() + + admin.sendline("server start DemoGlacier2") + admin.expect('>>>') + admin.sendline('exit') + + admin = demoscript.Util.spawn('icegridadmin --Ice.Default.Router="DemoGlacier2/router:tcp -h localhost -p 4063"', language="C++") + admin.expect('user id:') + admin.sendline('foo') + admin.expect('password:') + admin.sendline('foo') + admin.expect('>>>') + + admin.sendline("service start IceBox Homer") + admin.expect('>>>') + admin.sendline("service start IceBox Marge") + admin.expect('>>>') + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Lisa") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Maggie") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Homer") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Marge") + client.waitTestSuccess(timeout=1) + + client = demoscript.Util.spawn(clientStr) + node.expect("Hello from Bart") + client.waitTestSuccess(timeout=1) + + print "ok" + + admin.sendline('registry shutdown Master') + admin.sendline('exit') + admin.waitTestSuccess() + node.waitTestSuccess() |