/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/fixtures.py

  • Committer: Jelmer Vernooij
  • Date: 2018-02-18 21:42:57 UTC
  • mto: This revision was merged to the branch mainline in revision 6859.
  • Revision ID: jelmer@jelmer.uk-20180218214257-jpevutp1wa30tz3v
Update TODO to reference Breezy, not Bazaar.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
"""Fixtures that can be used within tests.
19
19
 
20
20
Fixtures can be created during a test as a way to separate out creation of
21
 
objects to test.  Fixture objects can hold some state so that different
 
21
objects to test.  Fixture objects can hold some state so that different 
22
22
objects created during a test instance can be related.  Normally a fixture
23
23
should live only for the duration of a single test, and its tearDown method
24
24
should be passed to `addCleanup` on the test.
30
30
 
31
31
def generate_unicode_names():
32
32
    """Generate a sequence of arbitrary unique unicode names.
33
 
 
 
33
    
34
34
    By default they are not representable in ascii.
35
 
 
 
35
    
36
36
    >>> gen = generate_unicode_names()
37
 
    >>> n1 = next(gen)
38
 
    >>> n2 = next(gen)
 
37
    >>> n1 = gen.next()
 
38
    >>> n2 = gen.next()
39
39
    >>> type(n1)
40
 
    <class 'str'>
 
40
    <type 'unicode'>
41
41
    >>> n1 == n2
42
42
    False
43
43
    >>> n1.encode('ascii', 'replace') == n1
60
60
    """Return a generator of unicode encoding names.
61
61
 
62
62
    These can be passed to Python encode/decode/etc.
63
 
 
 
63
    
64
64
    :param universal_encoding: True/False/None tristate to say whether the
65
 
        generated encodings either can or cannot encode all unicode
 
65
        generated encodings either can or cannot encode all unicode 
66
66
        strings.
67
67
 
68
 
    >>> n1 = next(generate_unicode_names())
69
 
    >>> enc = next(generate_unicode_encodings(universal_encoding=True))
70
 
    >>> enc2 = next(generate_unicode_encodings(universal_encoding=False))
 
68
    >>> n1 = generate_unicode_names().next()
 
69
    >>> enc = generate_unicode_encodings(universal_encoding=True).next()
 
70
    >>> enc2 = generate_unicode_encodings(universal_encoding=False).next()
71
71
    >>> n1.encode(enc).decode(enc) == n1
72
72
    True
73
73
    >>> try:
74
74
    ...   n1.encode(enc2).decode(enc2)
75
75
    ... except UnicodeError:
76
 
    ...   print('fail')
 
76
    ...   print 'fail'
77
77
    fail
78
78
    """
79
79
    # TODO: check they're supported on this platform?
92
92
 
93
93
    def __enter__(self):
94
94
        self._calls.append('__enter__')
95
 
        return self  # This is bound to the 'as' clause in a with statement.
 
95
        return self # This is bound to the 'as' clause in a with statement.
96
96
 
97
97
    def __exit__(self, exc_type, exc_val, exc_tb):
98
98
        self._calls.append('__exit__')
99
 
        return False  # propogate exceptions.
 
99
        return False # propogate exceptions.
100
100
 
101
101
 
102
102
def build_branch_with_non_ancestral_rev(branch_builder):
135
135
    # doesn't need to be bound to the particular files created? -- mbp
136
136
    # 20110705
137
137
    tree = testcase.make_branch_and_tree('t')
138
 
    testcase.build_tree_contents([('t/hello', b'hello world')])
139
 
    tree.add(['hello'], [b'hello-id'])
 
138
    testcase.build_tree_contents([('t/hello', 'hello world')])
 
139
    tree.add(['hello'], ['hello-id'])
140
140
    return tree
141
141
 
142
142
 
143
143
class TimeoutFixture(object):
144
144
    """Kill a test with sigalarm if it runs too long.
145
 
 
 
145
    
146
146
    Only works on Unix at present.
147
147
    """
148
148