[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