]> git-server-git.apps.pok.os.sepia.ceph.com Git - s3-tests.git/commitdiff
Adding unlimited=bool to files_varied -- if set to true, it will never issue StopIter...
authorWesley Spikes <wesley.spikes@dreamhost.com>
Mon, 18 Jul 2011 22:26:03 +0000 (15:26 -0700)
committerWesley Spikes <wesley.spikes@dreamhost.com>
Mon, 18 Jul 2011 23:15:40 +0000 (16:15 -0700)
s3tests/realistic.py

index f4a3ddf918e99eb059adc1f867a723f9fa52d4c7..64c406c17e17fcbc12700b8b3d8119b0f68c3492 100644 (file)
@@ -160,7 +160,7 @@ def names(mean, stddev, charset=None, seed=None):
         name = ''.join(rand.choice(charset) for _ in xrange(length))
         yield name
 
-def files_varied(groups):
+def files_varied(groups, unlimited=False):
     """ Yields a weighted-random selection of file-like objects. """
     # Quick data type sanity.
     assert groups and isinstance(groups, (list, tuple))
@@ -193,12 +193,13 @@ def files_varied(groups):
                 num -= file_set.num
                 continue
 
-            total_num -= 1
-            file_set.num   -= 1
+            if not unlimited:
+                total_num -= 1
+                file_set.num -= 1
 
-            # None left in this set!
-            if file_set.num == 0:
-                file_sets.remove(file_set)
+                # None left in this set!
+                if file_set.num == 0:
+                    file_sets.remove(file_set)
 
             ok = 1
             yield next(file_set.files)