##// END OF EJS Templates
util: make new timedcmstats class Python 3 compatible
Martijn Pieters -
r38848:9d49bb11 default
parent child Browse files
Show More
@@ -2890,9 +2890,11 b' class timedcmstats(object):'
2890 # the number of nested timedcm context managers.
2890 # the number of nested timedcm context managers.
2891 level = attr.ib(default=1)
2891 level = attr.ib(default=1)
2892
2892
2893 def __str__(self):
2893 def __bytes__(self):
2894 return timecount(self.elapsed) if self.elapsed else '<unknown>'
2894 return timecount(self.elapsed) if self.elapsed else '<unknown>'
2895
2895
2896 __str__ = encoding.strmethod(__bytes__)
2897
2896 @contextlib.contextmanager
2898 @contextlib.contextmanager
2897 def timedcm():
2899 def timedcm():
2898 """A context manager that produces timing information for a given context.
2900 """A context manager that produces timing information for a given context.
@@ -2929,7 +2931,8 b' def timed(func):'
2929 result = func(*args, **kwargs)
2931 result = func(*args, **kwargs)
2930 stderr = procutil.stderr
2932 stderr = procutil.stderr
2931 stderr.write('%s%s: %s\n' % (
2933 stderr.write('%s%s: %s\n' % (
2932 ' ' * time_stats.level * 2, func.__name__, time_stats))
2934 ' ' * time_stats.level * 2, pycompat.bytestr(func.__name__),
2935 time_stats))
2933 return result
2936 return result
2934 return wrapper
2937 return wrapper
2935
2938
@@ -70,8 +70,10 b' class timedtests(unittest.TestCase):'
70 def testtimedcmstatsstr(self):
70 def testtimedcmstatsstr(self):
71 stats = util.timedcmstats()
71 stats = util.timedcmstats()
72 self.assertEqual(str(stats), '<unknown>')
72 self.assertEqual(str(stats), '<unknown>')
73 self.assertEqual(bytes(stats), b'<unknown>')
73 stats.elapsed = 12.34
74 stats.elapsed = 12.34
74 self.assertEqual(str(stats), util.timecount(12.34))
75 self.assertEqual(str(stats), pycompat.sysstr(util.timecount(12.34)))
76 self.assertEqual(bytes(stats), util.timecount(12.34))
75
77
76 def testtimedcmcleanexit(self):
78 def testtimedcmcleanexit(self):
77 # timestamps 1, 4, elapsed time of 4 - 1 = 3
79 # timestamps 1, 4, elapsed time of 4 - 1 = 3
General Comments 0
You need to be logged in to leave comments. Login now