From 57cec2b9af96b9234bdfdf9fe0f07a1df6bb525d Mon Sep 17 00:00:00 2001 From: iory Date: Fri, 17 Apr 2020 18:31:12 +0900 Subject: [PATCH] Fixed test for elapsed time --- tests/samples/exception.py | 1 + tests/samples/indentation.py | 1 + tests/samples/recursion.py | 1 + tests/test_chinese.py | 6 ++- tests/test_pysnooper.py | 71 +++++++++++++++++++++++++++++++----- 5 files changed, 68 insertions(+), 12 deletions(-) diff --git a/tests/samples/exception.py b/tests/samples/exception.py index aa663de..87642c8 100644 --- a/tests/samples/exception.py +++ b/tests/samples/exception.py @@ -46,4 +46,5 @@ TypeError: bad 12:18:08.018787 line 21 pass 12:18:08.018813 return 21 pass Return value:.. None +Total elapsed time: 00:00:00.000885 ''' diff --git a/tests/samples/indentation.py b/tests/samples/indentation.py index 9ea0318..65cb7b4 100644 --- a/tests/samples/indentation.py +++ b/tests/samples/indentation.py @@ -42,4 +42,5 @@ Source path:... Whatever Return value:.. None 21:10:42.299627 return 6 f2() Return value:.. None +Total elapsed time: 00:00:00.000885 ''' diff --git a/tests/samples/recursion.py b/tests/samples/recursion.py index 1570d1a..7edbaac 100644 --- a/tests/samples/recursion.py +++ b/tests/samples/recursion.py @@ -59,4 +59,5 @@ Starting var:.. x = 4 Return value:.. 24 20:28:17.876646 return 8 return mul(x, factorial(x - 1)) Return value:.. 24 +Total elapsed time: 00:00:00.000651 ''' diff --git a/tests/test_chinese.py b/tests/test_chinese.py index 828ad1c..90e52aa 100644 --- a/tests/test_chinese.py +++ b/tests/test_chinese.py @@ -16,7 +16,8 @@ from pysnooper import pycompat from pysnooper.variables import needs_parentheses from .utils import (assert_output, assert_sample_output, VariableEntry, CallEntry, LineEntry, ReturnEntry, OpcodeEntry, - ReturnValueEntry, ExceptionEntry, SourcePathEntry) + ReturnValueEntry, ExceptionEntry, SourcePathEntry, + ElapsedTimeEntry) from . import mini_toolbox @@ -44,6 +45,7 @@ def test_chinese(): VariableEntry(u'x', (u"'失败'" if pycompat.PY3 else None)), LineEntry(), ReturnEntry(), - ReturnValueEntry('7') + ReturnValueEntry('7'), + ElapsedTimeEntry(), ), ) diff --git a/tests/test_pysnooper.py b/tests/test_pysnooper.py index 44852f4..b321d95 100644 --- a/tests/test_pysnooper.py +++ b/tests/test_pysnooper.py @@ -15,7 +15,8 @@ import pysnooper from pysnooper.variables import needs_parentheses from .utils import (assert_output, assert_sample_output, VariableEntry, CallEntry, LineEntry, ReturnEntry, OpcodeEntry, - ReturnValueEntry, ExceptionEntry, SourcePathEntry) + ReturnValueEntry, ExceptionEntry, SourcePathEntry, + ElapsedTimeEntry) from . import mini_toolbox @@ -44,6 +45,7 @@ def test_string_io(): LineEntry('return y + x'), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ) ) @@ -74,6 +76,7 @@ def test_thread_info(): LineEntry('return y + x'), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ) ) @@ -125,6 +128,7 @@ def test_multi_thread_info(): name="MainThread")), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), VariableEntry('foo', value_regex="u?'bubu'"), CallEntry('def my_function(foo):', thread_info_regex=thread_info_regex.format( @@ -142,6 +146,7 @@ def test_multi_thread_info(): name="test123")), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), VariableEntry('foo', value_regex="u?'bibi'"), CallEntry('def my_function(foo):', thread_info_regex=thread_info_regex.format(name='bibi')), @@ -155,6 +160,7 @@ def test_multi_thread_info(): thread_info_regex=thread_info_regex.format(name='bibi')), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ) ) @@ -188,6 +194,7 @@ def test_callable(normalize): LineEntry('return y + x'), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -240,7 +247,8 @@ def test_watch(normalize): VariableEntry('len(foo.__dict__["x"] * "abc")', '48'), LineEntry(), ReturnEntry(), - ReturnValueEntry('None') + ReturnValueEntry('None'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -291,7 +299,8 @@ def test_watch_explode(normalize): VariableEntry('(lst + [])[3]', '10'), VariableEntry('lst + []'), ReturnEntry(), - ReturnValueEntry('None') + ReturnValueEntry('None'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -342,7 +351,8 @@ def test_variables_classes(normalize): VariableEntry('_lst[998]', '998'), VariableEntry('_lst[999]', '999'), ReturnEntry(), - ReturnValueEntry('None') + ReturnValueEntry('None'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -384,7 +394,8 @@ def test_single_watch_no_comma(normalize): LineEntry(), LineEntry(), ReturnEntry(), - ReturnValueEntry('None') + ReturnValueEntry('None'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -412,7 +423,8 @@ def test_long_variable(normalize): VariableEntry('foo', value_regex=regex), LineEntry(), ReturnEntry(), - ReturnValueEntry(value_regex=regex) + ReturnValueEntry(value_regex=regex), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -440,7 +452,8 @@ def test_long_variable_with_custom_max_variable_length(normalize): VariableEntry('foo', value_regex=regex), LineEntry(), ReturnEntry(), - ReturnValueEntry(value_regex=regex) + ReturnValueEntry(value_regex=regex), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -468,7 +481,8 @@ def test_long_variable_with_infinite_max_variable_length(normalize): VariableEntry('foo', value_regex=regex), LineEntry(), ReturnEntry(), - ReturnValueEntry(value_regex=regex) + ReturnValueEntry(value_regex=regex), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -498,7 +512,8 @@ def test_repr_exception(normalize): LineEntry('bad = Bad()'), VariableEntry('bad', value='REPR FAILED'), ReturnEntry(), - ReturnValueEntry('None') + ReturnValueEntry('None'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -561,6 +576,7 @@ def test_depth(normalize): LineEntry(), ReturnEntry(), ReturnValueEntry('20'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -600,6 +616,7 @@ def test_method_and_prefix(normalize): LineEntry(prefix='ZZZ'), ReturnEntry(prefix='ZZZ'), ReturnValueEntry(prefix='ZZZ'), + ElapsedTimeEntry(prefix='ZZZ'), ), prefix='ZZZ', normalize=normalize, @@ -634,6 +651,7 @@ def test_file_output(normalize): LineEntry('return y + x'), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -679,6 +697,7 @@ def test_confusing_decorator_lines(normalize): # back in my_function ReturnEntry(), ReturnValueEntry('15'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -700,6 +719,7 @@ def test_lambda(normalize): LineEntry(source_regex='^my_function = pysnooper.*'), ReturnEntry(source_regex='^my_function = pysnooper.*'), ReturnValueEntry('49'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -734,6 +754,7 @@ def test_unavailable_source(): LineEntry('SOURCE IS UNAVAILABLE'), ReturnEntry('SOURCE IS UNAVAILABLE'), ReturnValueEntry('7'), + ElapsedTimeEntry(), ) ) @@ -767,6 +788,7 @@ def test_no_overwrite_by_default(): LineEntry('return y + x'), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ) ) @@ -800,6 +822,7 @@ def test_overwrite(): LineEntry('return y + x'), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), VariableEntry('foo', value_regex="u?'baba'"), CallEntry('def my_function(foo):'), @@ -810,6 +833,7 @@ def test_overwrite(): LineEntry('return y + x'), ReturnEntry('return y + x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ) ) @@ -914,6 +938,7 @@ def test_with_block(normalize): LineEntry('qux()'), ReturnEntry('qux()'), ReturnValueEntry('None'), + ElapsedTimeEntry(), # In with in recursive call LineEntry('bar2(x)'), @@ -925,9 +950,11 @@ def test_with_block(normalize): LineEntry('qux()'), ReturnEntry('qux()'), ReturnValueEntry('None'), + ElapsedTimeEntry(), # In with in recursive call LineEntry('qux()'), + ElapsedTimeEntry(), # Call to bar3 from after with VariableEntry('_x', '9'), @@ -936,6 +963,7 @@ def test_with_block(normalize): LineEntry('qux()'), ReturnEntry('qux()'), ReturnValueEntry('None'), + ElapsedTimeEntry(), # -- Similar to previous few sections, # -- but from first call to foo @@ -950,9 +978,11 @@ def test_with_block(normalize): LineEntry('qux()'), ReturnEntry('qux()'), ReturnValueEntry('None'), + ElapsedTimeEntry(), # In with in first call LineEntry('qux()'), + ElapsedTimeEntry(), # Call to bar3 from after with VariableEntry('_x', '9'), @@ -961,6 +991,7 @@ def test_with_block(normalize): LineEntry('qux()'), ReturnEntry('qux()'), ReturnValueEntry('None'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1020,6 +1051,7 @@ def test_with_block_depth(normalize): LineEntry(), ReturnEntry(), ReturnValueEntry('20'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1086,6 +1118,7 @@ def test_cellvars(normalize): ReturnValueEntry(), ReturnEntry(), ReturnValueEntry(), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1133,6 +1166,7 @@ def test_var_order(normalize): VariableEntry("seven", "7"), ReturnEntry(), ReturnValueEntry(), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1207,6 +1241,7 @@ def test_generator(): LineEntry(), ReturnEntry(), ReturnValueEntry('0'), + ElapsedTimeEntry(), # Pause and resume: @@ -1223,6 +1258,7 @@ def test_generator(): LineEntry(), ReturnEntry(), ReturnValueEntry('2'), + ElapsedTimeEntry(), # Pause and resume: @@ -1238,7 +1274,7 @@ def test_generator(): LineEntry(), ReturnEntry(), ReturnValueEntry(None), - + ElapsedTimeEntry(), ) ) @@ -1285,6 +1321,7 @@ def test_custom_repr(normalize): LineEntry(), ReturnEntry(), ReturnValueEntry('49995000'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1313,6 +1350,7 @@ def test_custom_repr_single(normalize): LineEntry(), ReturnEntry(), ReturnValueEntry('7'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1363,6 +1401,7 @@ def test_class(normalize): LineEntry('self.x = 7'), ReturnEntry('self.x = 7'), ReturnValueEntry('None'), + ElapsedTimeEntry(), VariableEntry('self', value_regex="u?.+MyClass object"), VariableEntry('foo', value_regex="u?'baba'"), CallEntry('def my_method(self, foo):'), @@ -1371,6 +1410,7 @@ def test_class(normalize): LineEntry('return y + self.x'), ReturnEntry('return y + self.x'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1409,6 +1449,7 @@ def test_class_with_decorated_method(normalize): LineEntry('self.x = 7'), ReturnEntry('self.x = 7'), ReturnValueEntry('None'), + ElapsedTimeEntry(), VariableEntry('args', value_regex=r"\(<.+>, 'baba'\)"), VariableEntry('kwargs', value_regex=r"\{\}"), VariableEntry('function', value_regex="u?.+my_method"), @@ -1418,6 +1459,7 @@ def test_class_with_decorated_method(normalize): LineEntry('return result'), ReturnEntry('return result'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1457,6 +1499,7 @@ def test_class_with_decorated_method_and_snoop_applied_to_method(normalize): LineEntry('self.x = 7'), ReturnEntry('self.x = 7'), ReturnValueEntry('None'), + ElapsedTimeEntry(), VariableEntry('args', value_regex=r"u?\(<.+>, 'baba'\)"), VariableEntry('kwargs', value_regex=r"u?\{\}"), VariableEntry('function', value_regex="u?.*my_method"), @@ -1475,6 +1518,7 @@ def test_class_with_decorated_method_and_snoop_applied_to_method(normalize): LineEntry('return result'), ReturnEntry('return result'), ReturnValueEntry('15'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1531,6 +1575,7 @@ def test_class_with_property(normalize): LineEntry('self._x = 0'), ReturnEntry('self._x = 0'), ReturnValueEntry('None'), + ElapsedTimeEntry(), # Called from getter VariableEntry('self', value_regex="u?.*MyClass object"), @@ -1538,6 +1583,7 @@ def test_class_with_property(normalize): LineEntry('pass'), ReturnEntry('pass'), ReturnValueEntry('None'), + ElapsedTimeEntry(), # Called from setter VariableEntry('self', value_regex="u?.*MyClass object"), @@ -1545,6 +1591,7 @@ def test_class_with_property(normalize): LineEntry('pass'), ReturnEntry('pass'), ReturnValueEntry('None'), + ElapsedTimeEntry(), # Called from deleter VariableEntry('self', value_regex="u?.*MyClass object"), @@ -1552,6 +1599,7 @@ def test_class_with_property(normalize): LineEntry('pass'), ReturnEntry('pass'), ReturnValueEntry('None'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1589,6 +1637,7 @@ def test_snooping_on_class_does_not_cause_base_class_to_be_snooped(normalize): LineEntry('self.method_on_base_class()'), ReturnEntry('self.method_on_base_class()'), ReturnValueEntry('None'), + ElapsedTimeEntry(), ), normalize=normalize, ) @@ -1625,6 +1674,7 @@ def test_normalize(): LineEntry('return res'), ReturnEntry('return res'), ReturnValueEntry('41'), + ElapsedTimeEntry(), ) ) @@ -1661,6 +1711,7 @@ def test_normalize_prefix(): LineEntry('return res', prefix=_prefix), ReturnEntry('return res', prefix=_prefix), ReturnValueEntry('41', prefix=_prefix), + ElapsedTimeEntry(prefix=_prefix), ) )