[Stackless-checkins] CVS: slpdev/src/2.3/dev/Stackless/unittests test_pickle.py, 1.8, 1.9
Dinu Gherman
gherman at centera.de
Thu Apr 22 08:47:45 CEST 2004
Update of /home/cvs/slpdev/src/2.3/dev/Stackless/unittests
In directory centera.de:/tmp/cvs-serv11761
Modified Files:
test_pickle.py
Log Message:
Added abstract base class plus verbosity option.
Index: test_pickle.py
===================================================================
RCS file: /home/cvs/slpdev/src/2.3/dev/Stackless/unittests/test_pickle.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** test_pickle.py 24 Mar 2004 16:27:08 -0000 1.8
--- test_pickle.py 22 Apr 2004 06:47:43 -0000 1.9
***************
*** 1,9 ****
import unittest
import cPickle as pickle
- import types
! from stackless import *
glist = []
def accumulate(ident, func, *args):
rval = (ident, func(*args))
--- 1,13 ----
+ import sys
+ import types
import unittest
import cPickle as pickle
! from stackless import schedule, tasklet
!
+ VERBOSE = False
glist = []
+
def accumulate(ident, func, *args):
rval = (ident, func(*args))
***************
*** 17,21 ****
def reset():
! glist[:] =[]
def rectest(nrec, lev=0, lst=None):
--- 21,25 ----
def reset():
! glist[:] = []
def rectest(nrec, lev=0, lst=None):
***************
*** 31,35 ****
def listtest(n, when):
for i in range(n):
! if i==when:
schedule()
return i
--- 35,39 ----
def listtest(n, when):
for i in range(n):
! if i == when:
schedule()
return i
***************
*** 42,46 ****
def enumeratetest(n, when):
! for i,ig in enumerate([None] * n):
if i == when:
schedule()
--- 46,50 ----
def enumeratetest(n, when):
! for i, ig in enumerate([None] * n):
if i == when:
schedule()
***************
*** 80,84 ****
return i
! class TestTasklets(unittest.TestCase):
def testGenerator(self):
self.run_pickled(genoutertest, 20, 13)
--- 84,132 ----
return i
!
! class TestPickledTasklets(unittest.TestCase):
! def setUp(self):
! self.verbose = VERBOSE
!
! def tearDown(self):
! del self.verbose
!
! def run_pickled(self, func, *args):
! ident = object()
! t = tasklet(accumulate)(ident, func, *args)
!
! # clear out old errors
! reset()
!
! if self.verbose: print "starting tasklet"
! t.run()
!
! self.assertEquals(is_empty(), True)
!
! # do we want to do this??
! #t.tempval = None
!
! if self.verbose: print "pickling"
! pi = pickle.dumps(t)
!
! # if self.verbose: print repr(pi)
! # why do we want to remove it?
! # t.remove()
!
! if self.verbose: print "unpickling"
! ip = pickle.loads(pi)
!
! if self.verbose: print "starting unpickled tasklet"
! ip.run()
! new_ident, new_rval = get_result()
! t.run()
! old_ident, old_rval = get_result()
! self.assertEquals(old_ident, ident)
! self.assertEquals(new_rval, old_rval)
! self.assertNotEquals(new_ident, old_ident)
! self.assertEquals(is_empty(), True)
!
!
! class TestConcretePickledTasklets(TestPickledTasklets):
def testGenerator(self):
self.run_pickled(genoutertest, 20, 13)
***************
*** 106,117 ****
def testRecursiveLambda(self):
! recurse = lambda self, next: next-1 and self(self, next-1) or (schedule(),42)[1]
pickle.loads(pickle.dumps(recurse))
self.run_pickled(recurse, recurse, 13)
def testRecursiveEmbedded(self):
-
def rectest(nrec, lev=0):
! print nrec, lev
if lev < nrec:
rectest(nrec, lev+1)
--- 154,165 ----
def testRecursiveLambda(self):
! recurse = lambda self, next: \
! next-1 and self(self, next-1) or (schedule(), 42)[1]
pickle.loads(pickle.dumps(recurse))
self.run_pickled(recurse, recurse, 13)
def testRecursiveEmbedded(self):
def rectest(nrec, lev=0):
! if self.verbose: print nrec, lev
if lev < nrec:
rectest(nrec, lev+1)
***************
*** 122,163 ****
def testFakeModules(self):
types.ModuleType('fakemodule!')
-
- def run_pickled(self, func, *args):
- ident = object()
- t = tasklet(accumulate)(ident, func, *args)
-
- # clear out old errors
- reset()
-
- print "starting tasklet"
- t.run()
- self.assertEquals(is_empty(), True)
-
- # do we want to do this??
- #t.tempval = None
-
- print "pickling"
- pi = pickle.dumps(t)
-
- # print repr(pi)
- # why do we want to remove it?
- # t.remove()
-
- print "unpickling"
- ip = pickle.loads(pi)
-
- print "starting unpickled tasklet"
- ip.run()
- new_ident, new_rval = get_result()
- t.run()
- old_ident, old_rval = get_result()
- self.assertEquals(old_ident, ident)
- self.assertEquals(new_rval, old_rval)
- self.assertNotEquals(new_ident, old_ident)
- self.assertEquals(is_empty(), True)
if __name__ == '__main__':
- import sys
if not sys.argv[1:]:
sys.argv.append('-v')
--- 170,176 ----
_______________________________________________
Stackless-checkins mailing list
Stackless-checkins at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-checkins
More information about the Stackless-checkins
mailing list