[Python-checkins] python/dist/src/Lib/test test_dumbdbm.py,1.8,1.9

tim_one@users.sourceforge.net tim_one@users.sourceforge.net
Thu, 10 Jul 2003 21:09:11 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv10247/Lib/test

Modified Files:
	test_dumbdbm.py 
Log Message:
Added a new randomized test.


Index: test_dumbdbm.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_dumbdbm.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** test_dumbdbm.py	9 Aug 2002 16:37:35 -0000	1.8
--- test_dumbdbm.py	11 Jul 2003 04:09:09 -0000	1.9
***************
*** 87,90 ****
--- 87,118 ----
          return keys
  
+     # Perform randomized operations.  This doesn't make assumptions about
+     # what *might* fail.
+     def test_random(self):
+         import random
+         d = {}  # mirror the database
+         for dummy in range(5):
+             f = dumbdbm.open(_fname)
+             for dummy in range(100):
+                 k = random.choice('abcdefghijklm')
+                 if random.random() < 0.2:
+                     if k in d:
+                         del d[k]
+                         del f[k]
+                 else:
+                     v = random.choice('abc') * random.randrange(10000)
+                     d[k] = v
+                     f[k] = v
+                     self.assertEqual(f[k], v)
+             f.close()
+ 
+             f = dumbdbm.open(_fname)
+             expected = d.items()
+             expected.sort()
+             got = f.items()
+             got.sort()
+             self.assertEqual(expected, got)
+             f.close()
+ 
      def tearDown(self):
          _delete_files()