summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2019-10-03 16:31:43 +0200
committerBenoit Foucher <benoit@zeroc.com>2019-10-03 16:38:42 +0200
commitc098b462d45236b61970f2bebc74d82801085255 (patch)
tree11fe55475b1d564a4840c470df4ed8c9d91d2aab /cpp
parentFixed typo (diff)
downloadice-c098b462d45236b61970f2bebc74d82801085255.tar.bz2
ice-c098b462d45236b61970f2bebc74d82801085255.tar.xz
ice-c098b462d45236b61970f2bebc74d82801085255.zip
Improved IceGrid/admin test error detection, fix for #546
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/IceGrid/Parser.cpp1
-rw-r--r--cpp/test/IceGrid/admin/test.py122
2 files changed, 63 insertions, 60 deletions
diff --git a/cpp/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp
index 704c84e9af5..a4332dcc315 100644
--- a/cpp/src/IceGrid/Parser.cpp
+++ b/cpp/src/IceGrid/Parser.cpp
@@ -2767,7 +2767,6 @@ Parser::patchFailed(const Ice::StringSeq& reasons)
void
Parser::error(const char* s)
{
-
consoleErr << "error: " << s << endl;
_errors++;
}
diff --git a/cpp/test/IceGrid/admin/test.py b/cpp/test/IceGrid/admin/test.py
index 173c5149ee2..593b2a8e934 100644
--- a/cpp/test/IceGrid/admin/test.py
+++ b/cpp/test/IceGrid/admin/test.py
@@ -11,23 +11,27 @@ class IceGridAdminTestCase(IceGridTestCase):
def runClientSide(self, current):
+ def expect(admin, msg):
+ if admin.expect(current, ['error:', msg] if isinstance(msg, str) else ['error:'] + msg) == 0:
+ raise RuntimeError(admin.getOutput(current))
+
current.write("testing login with username/password... ")
admin=IceGridAdmin()
admin.start(current)
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, "server list")
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'exit')
admin.stop(current, True)
defaultRouterProps = { "Ice.Default.Router" : self.glacier2router.getClientProxy(current) }
admin.start(current, props=defaultRouterProps)
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, "server list")
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'exit')
admin.stop(current, True)
@@ -39,17 +43,17 @@ class IceGridAdminTestCase(IceGridTestCase):
# Direct registry connection with SSL
admin.start(current, args=["--ssl"])
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, "server list")
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'exit')
admin.stop(current, True)
# Glacier2 connection with username/password
admin.start(current, args=["--ssl"], props=defaultRouterProps)
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, "server list")
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'exit')
admin.stop(current, True)
@@ -60,87 +64,87 @@ class IceGridAdminTestCase(IceGridTestCase):
try:
serverDir = current.getBuildDir("server")
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'application add application.xml server.dir=%s' % serverDir)
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'application list')
- admin.expect(current, 'Test')
+ expect(admin, 'Test')
admin.sendline(current, 'application describe Test')
- admin.expect(current, 'application `Test\'')
- admin.expect(current, '\{.*\}')
- admin.expect(current, '>>> ')
+ expect(admin, 'application `Test\'')
+ expect(admin, '\{.*\}')
+ expect(admin, '>>> ')
admin.sendline(current, 'application diff application.xml server.dir=%s' % serverDir)
- admin.expect(current, 'application `Test\'\n\{.*\}')
- admin.expect(current, '>>> ')
+ expect(admin, 'application `Test\'\n\{.*\}')
+ expect(admin, '>>> ')
admin.sendline(current, 'application update application.xml server.dir=%s' % serverDir)
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'application patch Test')
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'server list')
- admin.expect(current, 'server')
- admin.expect(current, '>>> ')
+ expect(admin, 'server')
+ expect(admin, '>>> ')
admin.sendline(current, 'server describe server')
- admin.expect(current, 'server `server\'\n\{.*\}')
- admin.expect(current, '>>> ')
+ expect(admin, 'server `server\'\n\{.*\}')
+ expect(admin, '>>> ')
admin.sendline(current, 'server start server')
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'server state server')
- admin.expect(current, '^active \(.*\)')
- admin.expect(current, '>>> ')
+ expect(admin, '^active \(.*\)')
+ expect(admin, '>>> ')
admin.sendline(current, 'server pid server')
- admin.expect(current, '[0-9]+')
- admin.expect(current, '>>> ')
+ expect(admin, '[0-9]+')
+ expect(admin, '>>> ')
admin.sendline(current, 'server properties server')
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'server property server Ice.Admin.ServerId')
- admin.expect(current, "^server")
- admin.expect(current, '>>> ')
+ expect(admin, "^server")
+ expect(admin, '>>> ')
admin.sendline(current, 'server patch server')
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'server disable server')
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'server enable server')
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'adapter list')
- admin.expect(current, 'TestAdapter')
- admin.expect(current, '>>> ')
+ expect(admin, 'TestAdapter')
+ expect(admin, '>>> ')
admin.sendline(current, 'adapter endpoints TestAdapter')
- admin.expect(current, ['tcp', 'ssl', 'ws', 'wss'])
- admin.expect(current, '>>> ')
+ expect(admin, ['tcp', 'ssl', 'ws', 'wss'])
+ expect(admin, '>>> ')
admin.sendline(current, 'object list')
- admin.expect(current, 'test')
- admin.expect(current, '>>> ')
+ expect(admin, 'test')
+ expect(admin, '>>> ')
admin.sendline(current, 'object describe')
- admin.expect(current, 'proxy = `.*\' type = `.*\'')
- admin.expect(current, '>>> ')
+ expect(admin, 'proxy = `.*\' type = `.*\'')
+ expect(admin, '>>> ')
admin.sendline(current, 'object find Test')
- admin.expect(current, 'test')
- admin.expect(current, '>>> ')
+ expect(admin, 'test')
+ expect(admin, '>>> ')
admin.sendline(current, 'server stop server')
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'application remove Test')
- admin.expect(current, '>>> ')
+ expect(admin, '>>> ')
admin.sendline(current, 'registry list')
- admin.expect(current, 'Master')
- admin.expect(current, '>>> ')
+ expect(admin, 'Master')
+ expect(admin, '>>> ')
admin.sendline(current, 'registry ping Master')
- admin.expect(current, 'registry is up')
- admin.expect(current, '>>> ')
+ expect(admin, 'registry is up')
+ expect(admin, '>>> ')
admin.sendline(current, 'registry describe Master')
- admin.expect(current, 'registry `Master\'\n{.*}')
- admin.expect(current, '>>> ')
+ expect(admin, 'registry `Master\'\n{.*}')
+ expect(admin, '>>> ')
admin.sendline(current, 'node list')
- admin.expect(current, 'localnode')
- admin.expect(current, '>>> ')
+ expect(admin, 'localnode')
+ expect(admin, '>>> ')
admin.sendline(current, 'node describe localnode')
- admin.expect(current, 'node `localnode\'\n{.*}')
- admin.expect(current, '>>> ')
+ expect(admin, 'node `localnode\'\n{.*}')
+ expect(admin, '>>> ')
admin.sendline(current, 'node load localnode')
- admin.expect(current, 'load average.*\n')
- admin.expect(current, '>>> ')
+ expect(admin, 'load average.*\n')
+ expect(admin, '>>> ')
admin.sendline(current, 'node ping localnode')
- admin.expect(current, 'node is up')
- admin.expect(current, '>>> ')
+ expect(admin, 'node is up')
+ expect(admin, '>>> ')
admin.sendline(current, 'exit')
admin.stop(current, True)
current.writeln("ok")