comparison tests/test-util.py @ 43076:2372284d9457

formatting: blacken the codebase This is using my patch to black (https://github.com/psf/black/pull/826) so we don't un-wrap collection literals. Done with: hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**"' | xargs black -S # skip-blame mass-reformatting only # no-check-commit reformats foo_bar functions Differential Revision: https://phab.mercurial-scm.org/D6971
author Augie Fackler <augie@google.com>
date Sun, 06 Oct 2019 09:45:02 -0400
parents 331ab85e910b
children 5aafc3c5bdec
comparison
equal deleted inserted replaced
43075:57875cf423c9 43076:2372284d9457
4 import contextlib 4 import contextlib
5 import itertools 5 import itertools
6 import unittest 6 import unittest
7 7
8 from mercurial import pycompat, util, utils 8 from mercurial import pycompat, util, utils
9
9 10
10 @contextlib.contextmanager 11 @contextlib.contextmanager
11 def mocktimer(incr=0.1, *additional_targets): 12 def mocktimer(incr=0.1, *additional_targets):
12 """Replaces util.timer and additional_targets with a mock 13 """Replaces util.timer and additional_targets with a mock
13 14
44 # restore originals 45 # restore originals
45 util.timer = orig 46 util.timer = orig
46 for args in additional_origs: 47 for args in additional_origs:
47 setattr(*args) 48 setattr(*args)
48 49
50
49 # attr.s default factory for util.timedstats.start binds the timer we 51 # attr.s default factory for util.timedstats.start binds the timer we
50 # need to mock out. 52 # need to mock out.
51 _start_default = (util.timedcmstats.start.default, 'factory') 53 _start_default = (util.timedcmstats.start.default, 'factory')
54
52 55
53 @contextlib.contextmanager 56 @contextlib.contextmanager
54 def capturestderr(): 57 def capturestderr():
55 """Replace utils.procutil.stderr with a pycompat.bytesio instance 58 """Replace utils.procutil.stderr with a pycompat.bytesio instance
56 59
63 utils.procutil.stderr = pycompat.bytesio() 66 utils.procutil.stderr = pycompat.bytesio()
64 try: 67 try:
65 yield utils.procutil.stderr 68 yield utils.procutil.stderr
66 finally: 69 finally:
67 utils.procutil.stderr = orig 70 utils.procutil.stderr = orig
71
68 72
69 class timedtests(unittest.TestCase): 73 class timedtests(unittest.TestCase):
70 def testtimedcmstatsstr(self): 74 def testtimedcmstatsstr(self):
71 stats = util.timedcmstats() 75 stats = util.timedcmstats()
72 self.assertEqual(str(stats), '<unknown>') 76 self.assertEqual(str(stats), '<unknown>')
125 # timestamps 1, 2, 3, 4, elapsed time of 3 - 2 = 1 and 4 - 1 = 3 129 # timestamps 1, 2, 3, 4, elapsed time of 3 - 2 = 1 and 4 - 1 = 3
126 with mocktimer(1, _start_default): 130 with mocktimer(1, _start_default):
127 with capturestderr() as out: 131 with capturestderr() as out:
128 testfunc(2) 132 testfunc(2)
129 133
130 self.assertEqual(out.getvalue(), ( 134 self.assertEqual(
131 b' testfunc: 1.000 s\n' 135 out.getvalue(),
132 b' testfunc: 3.000 s\n' 136 (b' testfunc: 1.000 s\n' b' testfunc: 3.000 s\n'),
133 )) 137 )
138
134 139
135 if __name__ == '__main__': 140 if __name__ == '__main__':
136 import silenttestrunner 141 import silenttestrunner
142
137 silenttestrunner.main(__name__) 143 silenttestrunner.main(__name__)