subunit/testtools: Include newer version.
[Samba/eduardoll.git] / lib / subunit / python / testtools / utils.py
blobc0845b610c6123b2a4b3c961cca188d982f1b68d
1 # Copyright (c) 2008 Jonathan M. Lange. See LICENSE for details.
3 """Utilities for dealing with stuff in unittest."""
6 import sys
8 __metaclass__ = type
9 __all__ = [
10 'iterate_tests',
14 if sys.version_info > (3, 0):
15 def _u(s):
16 """Replacement for u'some string' in Python 3."""
17 return s
18 def _b(s):
19 """A byte literal."""
20 return s.encode("latin-1")
21 advance_iterator = next
22 else:
23 def _u(s):
24 return unicode(s, "latin-1")
25 def _b(s):
26 return s
27 advance_iterator = lambda it: it.next()
30 def iterate_tests(test_suite_or_case):
31 """Iterate through all of the test cases in 'test_suite_or_case'."""
32 try:
33 suite = iter(test_suite_or_case)
34 except TypeError:
35 yield test_suite_or_case
36 else:
37 for test in suite:
38 for subtest in iterate_tests(test):
39 yield subtest