summaryrefslogtreecommitdiff
path: root/demoscript/Freeze/transform.py
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2008-01-14 10:35:55 -0330
committerDwayne Boone <dwayne@zeroc.com>2008-01-14 10:35:55 -0330
commit55e481a44d3c14fa389eff0f024b72642ae88d11 (patch)
treed11775aaea50de88ea82df72e71ac1c58bbf5cc9 /demoscript/Freeze/transform.py
parentMerge branch 'master' of ssh://cvs.zeroc.com/home/git/ice (diff)
downloadice-55e481a44d3c14fa389eff0f024b72642ae88d11.tar.bz2
ice-55e481a44d3c14fa389eff0f024b72642ae88d11.tar.xz
ice-55e481a44d3c14fa389eff0f024b72642ae88d11.zip
Bug 2556- add expect script for transform demo
Diffstat (limited to 'demoscript/Freeze/transform.py')
-rwxr-xr-xdemoscript/Freeze/transform.py85
1 files changed, 85 insertions, 0 deletions
diff --git a/demoscript/Freeze/transform.py b/demoscript/Freeze/transform.py
new file mode 100755
index 00000000000..145d2c8452d
--- /dev/null
+++ b/demoscript/Freeze/transform.py
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2007 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, demoscript, time
+import demoscript.pexpect as pexpect
+
+def run(createCmd, recreateCmd, readCmd, readnewCmd):
+ print "cleaning databases...",
+ sys.stdout.flush()
+ demoscript.Util.cleanDbDir("db")
+ demoscript.Util.cleanDbDir("dbnew")
+ print "ok"
+
+ print "creating database...",
+ create = demoscript.Util.spawn(createCmd)
+ create.expect('7 contacts were successfully created or updated')
+ create.waitTestSuccess()
+ print "ok"
+
+ print "reading database...",
+ read = demoscript.Util.spawn(readCmd)
+ read.expect("All contacts \(default order\)")
+ read.expect('arnold:\t{1,2}\(333\)333-3333 x1234')
+ read.expect('bob:\t{1,2}\(222\)222-2222')
+ read.expect('carlos:\t{1,2}\(111\)111-1111')
+ read.expect('don:\t{1,2}\(777\)777-7777')
+ read.expect('ed:\t{1,2}\(666\)666-6666')
+ read.expect('frank:\t{1,2}\(555\)555-5555 x123')
+ read.expect('gary:\t{1,2}\(444\)444-4444')
+ read.expect('All contacts \(ordered by phone number\)')
+ read.expect('carlos:\t{1,2}\(111\)111-1111')
+ read.expect('bob:\t{1,2}\(222\)222-2222')
+ read.expect('arnold:\t{1,2}\(333\)333-3333 x1234')
+ read.expect('gary:\t{1,2}\(444\)444-4444')
+ read.expect('frank:\t{1,2}\(555\)555-5555 x123')
+ read.expect('ed:\t{1,2}\(666\)666-6666')
+ read.expect('don:\t{1,2}\(777\)777-7777')
+ read.waitTestSuccess()
+ print "ok"
+
+ print "transforming database...",
+ transform = demoscript.Util.spawn('transformdb --old ContactData.ice --new NewContactData.ice -f transform.xml db dbnew', language="C++")
+ transform.waitTestSuccess()
+ print "ok"
+
+ print "reading new database...",
+ readnew = demoscript.Util.spawn(readnewCmd)
+ readnew.expect('All contacts \(default order\)')
+ readnew.expect('All contacts \(ordered by phone number\)')
+ readnew.expect('DbEnv \"dbnew\": Secondary index corrupt: not consistent with primary')
+ print "ok"
+
+ print "recreating database...",
+ recreate = demoscript.Util.spawn(recreateCmd)
+ recreate.expect('Recreated contacts database successfully!')
+ recreate.waitTestSuccess()
+ print "ok"
+
+ print "rereading new database...",
+ readnew = demoscript.Util.spawn(readnewCmd)
+ readnew.expect("All contacts \(default order\)")
+ readnew.expect('arnold:\t{1,2}\(333\)333-3333 x1234 arnold@gmail.com')
+ readnew.expect('bob:\t{1,2}\(222\)222-2222 bob@gmail.com')
+ readnew.expect('carlos:\t{1,2}\(111\)111-1111 carlos@gmail.com')
+ readnew.expect('don:\t{1,2}\(777\)777-7777 don@gmail.com')
+ readnew.expect('ed:\t{1,2}\(666\)666-6666 ed@gmail.com')
+ readnew.expect('frank:\t{1,2}\(555\)555-5555 x123 frank@gmail.com')
+ readnew.expect('gary:\t{1,2}\(444\)444-4444 gary@gmail.com')
+ readnew.expect('All contacts \(ordered by phone number\)')
+ readnew.expect('carlos:\t{1,2}\(111\)111-1111 carlos@gmail.com')
+ readnew.expect('bob:\t{1,2}\(222\)222-2222 bob@gmail.com')
+ readnew.expect('arnold:\t{1,2}\(333\)333-3333 x1234 arnold@gmail.com')
+ readnew.expect('gary:\t{1,2}\(444\)444-4444 gary@gmail.com')
+ readnew.expect('frank:\t{1,2}\(555\)555-5555 x123 frank@gmail.com')
+ readnew.expect('ed:\t{1,2}\(666\)666-6666 ed@gmail.com')
+ readnew.expect('don:\t{1,2}\(777\)777-7777 don@gmail.com')
+ readnew.waitTestSuccess()
+ print "ok"