diff options
Diffstat (limited to 'cpp/test/IceStorm/single/run.py')
-rwxr-xr-x | cpp/test/IceStorm/single/run.py | 134 |
1 files changed, 55 insertions, 79 deletions
diff --git a/cpp/test/IceStorm/single/run.py b/cpp/test/IceStorm/single/run.py index 01f378c25cf..1370ffe3f18 100755 --- a/cpp/test/IceStorm/single/run.py +++ b/cpp/test/IceStorm/single/run.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # ********************************************************************** # -# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved. +# Copyright (c) 2003-2007 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. @@ -25,83 +25,59 @@ TestUtil.processCmdLine() name = os.path.join("IceStorm", "single") testdir = os.path.dirname(os.path.abspath(__file__)) - -iceBox = TestUtil.getIceBox(testdir) -iceBoxAdmin = os.path.join(TestUtil.getBinDir(__file__), "iceboxadmin") -iceStormAdmin = os.path.join(TestUtil.getBinDir(__file__), "icestormadmin") - -iceBoxEndpoints = ' --IceBox.ServiceManager.Endpoints="default -p 12010"' - -iceStormService = " --IceBox.Service.IceStorm=IceStormService," + TestUtil.getIceSoVersion() + ":createIceStorm" + \ - ' --IceStorm.TopicManager.Endpoints="default -p 12011"' + \ - ' --IceStorm.Publish.Endpoints="default:udp"' + \ - " --IceBox.PrintServicesReady=IceStorm" + \ - " --IceBox.InheritProperties=1" -iceStormReference = ' --IceStorm.TopicManager.Proxy="IceStorm/TopicManager:default -p 12011"' - -dbHome = os.path.join(testdir, "db") -TestUtil.cleanDbDir(dbHome) -iceStormDBEnv=" --Freeze.DbEnv.IceStorm.DbHome=" + dbHome - -print "starting icestorm service...", -iceBoxPipe = TestUtil.startServer(iceBox, iceBoxEndpoints + iceStormService + iceStormDBEnv) -TestUtil.getServerPid(iceBoxPipe) -TestUtil.waitServiceReady(iceBoxPipe, "IceStorm") -print "ok" - -print "creating topic...", -iceStormAdminPipe = TestUtil.startClient(iceStormAdmin, iceStormReference + r' -e "create single" 2>&1') -iceStormAdminStatus = TestUtil.closePipe(iceStormAdminPipe) -if iceStormAdminStatus: - TestUtil.killServers() - sys.exit(1) -print "ok" - -publisher = os.path.join(testdir, "publisher") -subscriber = os.path.join(testdir, "subscriber") - -print "starting subscriber...", -subscriberPipe = TestUtil.startServer(subscriber, iceStormReference + " 2>&1") -TestUtil.getServerPid(subscriberPipe) -TestUtil.getAdapterReady(subscriberPipe, True, 5) -print "ok" - -# -# Start the publisher. This should publish 10 events which eventually -# causes subscriber to terminate. -# -print "starting publisher...", -publisherPipe = TestUtil.startClient(publisher, iceStormReference + " 2>&1") -print "ok" - -subscriberStatus = TestUtil.specificServerStatus(subscriberPipe, 30) -publisherStatus = TestUtil.closePipe(publisherPipe) - -# -# Destroy the topic. -# -print "destroying topic...", -iceStormAdminPipe = TestUtil.startClient(iceStormAdmin, iceStormReference + r' -e "destroy single" 2>&1') -iceStormAdminStatus = TestUtil.closePipe(iceStormAdminPipe) -if iceStormAdminStatus: - TestUtil.killServers() - sys.exit(1) -print "ok" - -# -# Shutdown icestorm. -# -print "shutting down icestorm service...", -iceBoxAdminPipe = TestUtil.startClient(iceBoxAdmin, ' --IceBoxAdmin.ServiceManager.Proxy="IceBox/ServiceManager:default -p 12010"' + \ - r' shutdown 2>&1') -iceBoxAdminStatus = TestUtil.closePipe(iceBoxAdminPipe) -if iceBoxAdminStatus: - TestUtil.killServers() - sys.exit(1) -print "ok" - -if TestUtil.serverStatus() or subscriberStatus or publisherStatus: - TestUtil.killServers() - sys.exit(1) +import IceStormUtil + +def dotest(type): + icestorm = IceStormUtil.init(toplevel, testdir, type) + + icestorm.start() + + print "creating topic...", + sys.stdout.flush() + icestorm.admin("create single") + print "ok" + + publisher = os.path.join(testdir, "publisher") + subscriber = os.path.join(testdir, "subscriber") + + print "starting subscriber...", + sys.stdout.flush() + subscriberPipe = TestUtil.startServer(subscriber, icestorm.reference()) + TestUtil.getServerPid(subscriberPipe) + TestUtil.getAdapterReady(subscriberPipe, True, 5) + print "ok" + + # + # Start the publisher. This should publish 10 events which eventually + # causes subscriber to terminate. + # + print "starting publisher...", + sys.stdout.flush() + publisherPipe = TestUtil.startClient(publisher, icestorm.reference()) + print "ok" + + subscriberStatus = TestUtil.specificServerStatus(subscriberPipe, 30) + publisherStatus = TestUtil.closePipe(publisherPipe) + + # + # Destroy the topic. + # + print "destroy topic...", + sys.stdout.flush() + icestorm.admin("destroy single") + print "ok" + + # + # Shutdown icestorm. + # + icestorm.stop() + + if TestUtil.serverStatus() or subscriberStatus or publisherStatus: + TestUtil.killServers() + sys.exit(1) + +dotest("persistent") +dotest("transient") +dotest("replicated") sys.exit(0) |