summaryrefslogtreecommitdiff
path: root/demoscript/book/map_filesystem.py
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2008-05-11 18:11:31 +1000
committerMichi Henning <michi@zeroc.com>2008-05-11 18:11:31 +1000
commitf116fc2de91608cd8006796f3923d309499786d5 (patch)
treee4c5d4893be2a812f4b203d3a539eb14e3b4f547 /demoscript/book/map_filesystem.py
parentIncreased timeout for serialize mode (diff)
downloadice-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-xdemoscript/book/map_filesystem.py169
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"