diff options
author | Michi Henning <michi@zeroc.com> | 2008-05-11 18:11:31 +1000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2008-05-11 18:11:31 +1000 |
commit | f116fc2de91608cd8006796f3923d309499786d5 (patch) | |
tree | e4c5d4893be2a812f4b203d3a539eb14e3b4f547 /demoscript/book/map_filesystem.py | |
parent | Increased timeout for serialize mode (diff) | |
download | ice-f116fc2de91608cd8006796f3923d309499786d5.tar.bz2 ice-f116fc2de91608cd8006796f3923d309499786d5.tar.xz ice-f116fc2de91608cd8006796f3923d309499786d5.zip |
Updated Freeze demos to align with life cycle chapter. Added interactive
client to freeze evictor demo and map demo. Regenerated .gitignore files.
Regenerated dependencies. Updated VC6 project files for demo build.
Diffstat (limited to 'demoscript/book/map_filesystem.py')
-rwxr-xr-x | demoscript/book/map_filesystem.py | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/demoscript/book/map_filesystem.py b/demoscript/book/map_filesystem.py new file mode 100755 index 00000000000..e611cd1869f --- /dev/null +++ b/demoscript/book/map_filesystem.py @@ -0,0 +1,169 @@ +#!/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, signal + +def run(client, server): + print "testing...", + sys.stdout.flush() + client.expect('>') + client.sendline('pwd') + client.expect('pwd') + client.expect('/\r{1,2}\n>') + + client.sendline('cd x') + client.expect('cd x') + client.expect('`x\': no such directory') + client.expect('\r{1,2}\n>') + + client.sendline('cd') + client.expect('cd') + client.expect('\r{1,2}\n>') + + client.sendline('pwd') + client.expect('pwd') + client.expect('/\r{1,2}\n>') + + client.sendline('mkfile a') + client.expect('mkfile a') + client.expect('\r{1,2}\n>') + + client.sendline('cd a') + client.expect('cd a') + client.expect('`a\': not a directory') + client.expect('\r{1,2}\n>') + + client.sendline('mkdir a') + client.expect('mkdir a') + client.expect('`a\' exists already') + client.expect('\r{1,2}\n>') + + client.sendline('mkdir b') + client.expect('mkdir b') + client.expect('\r{1,2}\n>') + + client.sendline('cd b') + client.expect('cd b') + client.expect('\r{1,2}\n>') + + client.sendline('pwd') + client.expect('pwd') + client.expect('/b\r{1,2}\n>') + + client.sendline('cd') + client.expect('cd') + client.expect('\r{1,2}\n>') + + client.sendline('pwd') + client.expect('pwd') + client.expect('/\r{1,2}\n>') + + client.sendline('cd b') + client.expect('cd b') + client.expect('\r{1,2}\n>') + + client.sendline('pwd') + client.expect('pwd') + client.expect('/b\r{1,2}\n>') + + client.sendline('cd /') + client.expect('cd /') + client.expect('\r{1,2}\n>') + + client.sendline('pwd') + client.expect('pwd') + client.expect('/\r{1,2}\n>') + + client.sendline('ls') + client.expect('ls\r{1,2}\n') + i = client.expect(['a \(file\)', 'b \(directory\)']) + j = client.expect(['a \(file\)', 'b \(directory\)']) + assert i != j + client.expect('\r{1,2}\n>') + + client.sendline('lr') + client.expect('lr\r{1,2}\n') + i = client.expect(['a \(file\)', 'b \(directory\)']) + j = client.expect(['a \(file\)', 'b \(directory\)']) + assert i != j + client.expect('\r{1,2}\n>') + + client.sendline('cd b') + client.expect('cd b\r{1,2}\n>') + + client.sendline('mkdir c') + client.expect('mkdir c\r{1,2}\n>') + + client.sendline('cd c') + client.expect('cd c\r{1,2}\n>') + + client.sendline('pwd') + client.expect('pwd') + client.expect('/b/c\r{1,2}\n>') + + client.sendline('cd /') + client.expect('cd /\r{1,2}\n>') + + client.sendline('lr') + client.expect('lr\r{1,2}\n') + i = client.expect(['a \(file\)', 'b \(directory\)']) + if i == 1: + client.expect('c \(directory\):') + client.expect('a \(file\)') + else: + client.expect('b \(directory\)') + client.expect('c \(directory\):') + + client.sendline('mkfile c') + client.expect('mkfile c\r{1,2}\n>') + + client.sendline('write c blah c') + client.expect('write c blah c\r{1,2}\n>') + + client.sendline('cat c') + client.expect('cat c\r{1,2}\n') + client.expect('blah\r{1,2}\n') + client.expect('c') + client.expect('\r{1,2}\n>') + + client.sendline('rm b') + client.expect('rm b\r{1,2}\n') + client.expect('cannot remove `b\': Cannot destroy non-empty directory') + client.expect('\r{1,2}\n>') + + client.sendline('cd b') + client.expect('cd b') + client.expect('\r{1,2}\n>') + + client.sendline('rm *') + client.expect('rm \*') + client.expect('\r{1,2}\n>') + + client.sendline('ls') + client.expect('ls\r{1,2}\n>') + + client.sendline('cd ..') + client.expect('cd \.\.\r{1,2}\n>') + + client.sendline('rm b') + client.expect('rm b\r{1,2}\n>') + + client.sendline('rm a c') + client.expect('rm a c\r{1,2}\n>') + + client.sendline('ls') + client.expect('ls\r{1,2}\n>') + + client.sendline('exit') + client.waitTestSuccess() + + server.kill(signal.SIGINT) + server.waitTestSuccess() + print "ok" |