From 16e9d42c120a66fefaacb45684a3ff52944a4b38 Mon Sep 17 00:00:00 2001 From: mattip Date: Wed, 15 Jan 2020 11:03:19 +1100 Subject: TST: move _no_tracing to testing._private --- numpy/testing/_private/utils.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'numpy/testing/_private/utils.py') diff --git a/numpy/testing/_private/utils.py b/numpy/testing/_private/utils.py index 914491b71..69b2af4df 100644 --- a/numpy/testing/_private/utils.py +++ b/numpy/testing/_private/utils.py @@ -2474,3 +2474,24 @@ def _get_mem_available(): return info['memfree'] + info['cached'] return None + + +def _no_tracing(func): + """ + Decorator to temporarily turn off tracing for the duration of a test. + Needed in tests that check refcounting, otherwise the tracing itself + influences the refcounts + """ + if not hasattr(sys, 'gettrace'): + return func + else: + @wraps(func) + def wrapper(*args, **kwargs): + original_trace = sys.gettrace() + try: + sys.settrace(None) + return func(*args, **kwargs) + finally: + sys.settrace(original_trace) + return wrapper + -- cgit v1.2.1