From: Wesley Spikes Date: Mon, 18 Jul 2011 22:26:03 +0000 (-0700) Subject: Adding unlimited=bool to files_varied -- if set to true, it will never issue StopIter... X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=44cb2f256e643784f393404820f8985f04876678;p=s3-tests.git Adding unlimited=bool to files_varied -- if set to true, it will never issue StopIteration --- diff --git a/s3tests/realistic.py b/s3tests/realistic.py index f4a3ddf9..64c406c1 100644 --- a/s3tests/realistic.py +++ b/s3tests/realistic.py @@ -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)