diff options
author | Matthew Newhook <matthew@zeroc.com> | 2008-03-03 15:53:13 +0800 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2008-03-03 15:53:13 +0800 |
commit | d00fed41c6a7b4a363541858a19919ed0234608e (patch) | |
tree | 4933dfa8cf9f9abe19ee121c0ba7425939e5e76a /cpp/demo/IceStorm/replicated/expect.py | |
parent | Merge branch 'master' of ssh://git/home/git/ice (diff) | |
download | ice-d00fed41c6a7b4a363541858a19919ed0234608e.tar.bz2 ice-d00fed41c6a7b4a363541858a19919ed0234608e.tar.xz ice-d00fed41c6a7b4a363541858a19919ed0234608e.zip |
Fix expect scripts for HA IceStorm. Clean up READMEs.
Diffstat (limited to 'cpp/demo/IceStorm/replicated/expect.py')
-rwxr-xr-x | cpp/demo/IceStorm/replicated/expect.py | 58 |
1 files changed, 25 insertions, 33 deletions
diff --git a/cpp/demo/IceStorm/replicated/expect.py b/cpp/demo/IceStorm/replicated/expect.py index e3618b8e72b..849a7dfc34e 100755 --- a/cpp/demo/IceStorm/replicated/expect.py +++ b/cpp/demo/IceStorm/replicated/expect.py @@ -66,9 +66,25 @@ print "ok" print "testing pub/sub...", sys.stdout.flush() sub = demoscript.Util.spawn('./subscriber --Ice.PrintAdapterReady') -sub.expect('.* ready') -node.expect('Subscribe:.*Subscribe:.*Subscribe:') +# Match each of the patterns once. +def matchpat(e, pat, timeout=60): + matched = [] + for i in pat: + m = e.expect(pat, timeout=timeout) + assert not m in matched + matched.append(m) + assert len(matched) == len(pat) + +matchpat(node, [ 'Election: node 1: reporting for duty in group 3:[-0-9A-F]+ with coordinator 3', + 'Election: node 2: reporting for duty in group 3:[-0-9A-F]+ with coordinator 3', + 'Election: node 3: reporting for duty in group 3:[-0-9A-F]+ as coordinator' ]) + +matchpat(node, ['DemoIceStorm-3: Topic: time: subscribeAndGetPublisher: [-0-9A-F]+', + 'DemoIceStorm-1: Topic: time: add replica observer: [-0-9A-F]+', + 'DemoIceStorm-2: Topic: time: add replica observer: [-0-9A-F]+' ]) + +sub.expect('.* ready') pub = demoscript.Util.spawn('./publisher') @@ -76,38 +92,14 @@ time.sleep(3) sub.expect('[0-9][0-9]/[0-9][0-9].*\r{1,2}\n[0-9][0-9]/[0-9][0-9]') print "ok" -print "testing replication...", -sys.stdout.flush() -# Start killing off the servers -admin.sendline('server disable DemoIceStorm-1') -admin.expect('>>>') -admin.sendline('server stop DemoIceStorm-1') -admin.expect('>>>') - -time.sleep(3) -sub.expect('[0-9][0-9]/[0-9][0-9].*\r{1,2}\n[0-9][0-9]/[0-9][0-9]') - -admin.sendline('server disable DemoIceStorm-2') -admin.expect('>>>') -admin.sendline('server stop DemoIceStorm-2') -admin.expect('>>>') - -time.sleep(3) -sub.expect('[0-9][0-9]/[0-9][0-9].*\r{1,2}\n[0-9][0-9]/[0-9][0-9]') - -admin.sendline('server disable DemoIceStorm-3') -admin.expect('>>>') -admin.sendline('server stop DemoIceStorm-3') -admin.expect('>>>') - -pub.expect('Ice::NoEndpointException') -pub.waitTestSuccess(1) - sub.kill(signal.SIGINT) -if not demoscript.Util.isCygwin(): - sub.expect('NoEndpointException') -pub.waitTestSuccess(1) -print "ok" +sub.waitTestSuccess() +pub.kill(signal.SIGINT) +pub.waitTestSuccess() + +matchpat(node, [ 'DemoIceStorm-1: Topic: time: remove replica observer: [-0-9A-F]+', + 'DemoIceStorm-2: Topic: time: remove replica observer: [-0-9A-F]+' , + 'DemoIceStorm-3: Topic: time: unsubscribe: [-0-9A-F]+' ]) admin.sendline('registry shutdown Master') admin.sendline('exit') |