diff --git a/numpy/core/tests/test_multiarray.py b/numpy/core/tests/test_multiarray.py index 2464dee8b56a..958b265ca570 100644 --- a/numpy/core/tests/test_multiarray.py +++ b/numpy/core/tests/test_multiarray.py @@ -46,6 +46,7 @@ assert_allclose, IS_PYPY, HAS_REFCOUNT, assert_array_less, runstring, temppath, suppress_warnings, break_cycles, ) +from numpy.testing._private.utils import _no_tracing from numpy.core.tests._locales import CommaDecimalPointLocale # Need to test an object that does not fully implement math interface @@ -96,26 +97,6 @@ def _aligned_zeros(shape, dtype=float, order="C", align=None): data.fill(0) return data -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: - @functools.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 - - class TestFlags(object): def setup(self): diff --git a/numpy/core/tests/test_regression.py b/numpy/core/tests/test_regression.py index 3880b139418a..f2d3d788dd38 100644 --- a/numpy/core/tests/test_regression.py +++ b/numpy/core/tests/test_regression.py @@ -16,8 +16,8 @@ assert_raises_regex, assert_warns, suppress_warnings, _assert_valid_refcount, HAS_REFCOUNT, ) +from numpy.testing._private.utils import _no_tracing from numpy.compat import asbytes, asunicode, long, pickle -from test.support import no_tracing try: RecursionError @@ -1317,7 +1317,7 @@ def test_void_scalar_constructor(self): assert_(pickle.loads( pickle.dumps(test_record, protocol=proto)) == test_record) - @no_tracing + @_no_tracing def test_blasdot_uninitialized_memory(self): # Ticket #950 for m in [0, 1, 2]: diff --git a/numpy/testing/_private/utils.py b/numpy/testing/_private/utils.py index 23267a9e1f72..d00538c19c3a 100644 --- a/numpy/testing/_private/utils.py +++ b/numpy/testing/_private/utils.py @@ -2476,3 +2476,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 +