diff options
author | Benoit Foucher <benoit@zeroc.com> | 2019-10-03 16:31:43 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2019-10-03 16:38:42 +0200 |
commit | c098b462d45236b61970f2bebc74d82801085255 (patch) | |
tree | 11fe55475b1d564a4840c470df4ed8c9d91d2aab /cpp | |
parent | Fixed typo (diff) | |
download | ice-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.cpp | 1 | ||||
-rw-r--r-- | cpp/test/IceGrid/admin/test.py | 122 |
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") |