summaryrefslogtreecommitdiff
path: root/test/lib/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/util.py')
-rw-r--r--test/lib/util.py30
1 files changed, 15 insertions, 15 deletions
diff --git a/test/lib/util.py b/test/lib/util.py
index 4c9892852..b512cf6b0 100644
--- a/test/lib/util.py
+++ b/test/lib/util.py
@@ -13,7 +13,7 @@ if jython:
gc.collect()
gc.collect()
return 0
-
+
# "lazy" gc, for VM's that don't GC on refcount == 0
lazy_gc = gc_collect
@@ -34,48 +34,48 @@ def picklers():
# end Py2K
import pickle
picklers.add(pickle)
-
+
# yes, this thing needs this much testing
for pickle in picklers:
for protocol in -1, 0, 1, 2:
yield pickle.loads, lambda d:pickle.dumps(d, protocol)
-
-
+
+
def round_decimal(value, prec):
if isinstance(value, float):
return round(value, prec)
-
+
# can also use shift() here but that is 2.6 only
return (value * decimal.Decimal("1" + "0" * prec)).to_integral(decimal.ROUND_FLOOR) / \
pow(10, prec)
-
+
class RandomSet(set):
def __iter__(self):
l = list(set.__iter__(self))
random.shuffle(l)
return iter(l)
-
+
def pop(self):
index = random.randint(0, len(self) - 1)
item = list(set.__iter__(self))[index]
self.remove(item)
return item
-
+
def union(self, other):
return RandomSet(set.union(self, other))
-
+
def difference(self, other):
return RandomSet(set.difference(self, other))
-
+
def intersection(self, other):
return RandomSet(set.intersection(self, other))
-
+
def copy(self):
return RandomSet(self)
-
+
def conforms_partial_ordering(tuples, sorted_elements):
"""True if the given sorting conforms to the given partial ordering."""
-
+
deps = defaultdict(set)
for parent, child in tuples:
deps[parent].add(child)
@@ -101,7 +101,7 @@ def all_partial_orderings(tuples, elements):
if not subset.intersection(edges[elem]):
for sub_ordering in _all_orderings(subset):
yield [elem] + sub_ordering
-
+
return iter(_all_orderings(elements))
@@ -114,7 +114,7 @@ def function_named(fn, name):
This function should be phased out as much as possible
in favor of @decorator. Tests that "generate" many named tests
should be modernized.
-
+
"""
try:
fn.__name__ = name