diff options
author | slepton <slepton@posteo.de> | 2021-07-07 08:27:49 +0200 |
---|---|---|
committer | slepton <slepton@posteo.de> | 2021-07-07 19:49:22 +0200 |
commit | 984593982f0baf4be771cf578635994c88559078 (patch) | |
tree | 4fed8be2102a35c8a6cd49920fbc24b1a6db4ad1 /numpy | |
parent | f5fcd004956c7c6a7699d73a9fd687f145f7cc29 (diff) | |
download | numpy-984593982f0baf4be771cf578635994c88559078.tar.gz |
For Pyston the refcount of "immortal" objects is set to ~infinity
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/core/tests/test_dtype.py | 14 | ||||
-rw-r--r-- | numpy/core/tests/test_regression.py | 6 | ||||
-rw-r--r-- | numpy/testing/_private/utils.py | 3 |
3 files changed, 13 insertions, 10 deletions
diff --git a/numpy/core/tests/test_dtype.py b/numpy/core/tests/test_dtype.py index b3ca6d540..18146cae2 100644 --- a/numpy/core/tests/test_dtype.py +++ b/numpy/core/tests/test_dtype.py @@ -13,6 +13,8 @@ from numpy.testing import ( from numpy.compat import pickle from itertools import permutations +IS_PYSTON = hasattr(sys, "pyston_version_info") + def assert_dtype_equal(a, b): assert_equal(a, b) assert_equal(hash(a), hash(b), @@ -805,14 +807,14 @@ class TestMonsterType: ('yi', np.dtype((a, (3, 2))))]) assert_dtype_equal(c, d) - @pytest.mark.skipif(hasattr(sys, "pyston_version_info"), reason="Pyston disables recursion checking") + @pytest.mark.skipif(IS_PYSTON, reason="Pyston disables recursion checking") def test_list_recursion(self): l = list() l.append(('f', l)) with pytest.raises(RecursionError): np.dtype(l) - @pytest.mark.skipif(hasattr(sys, "pyston_version_info"), reason="Pyston disables recursion checking") + @pytest.mark.skipif(IS_PYSTON, reason="Pyston disables recursion checking") def test_tuple_recursion(self): d = np.int32 for i in range(100000): @@ -820,7 +822,7 @@ class TestMonsterType: with pytest.raises(RecursionError): np.dtype(d) - @pytest.mark.skipif(hasattr(sys, "pyston_version_info"), reason="Pyston disables recursion checking") + @pytest.mark.skipif(IS_PYSTON, reason="Pyston disables recursion checking") def test_dict_recursion(self): d = dict(names=['self'], formats=[None], offsets=[0]) d['formats'][0] = d @@ -1242,9 +1244,8 @@ class TestFromDTypeAttribute: assert np.dtype(dt) == np.float64 assert np.dtype(dt()) == np.float64 + @pytest.mark.skipif(IS_PYSTON, reason="Pyston disables recursion checking") def test_recursion(self): - if hasattr(sys, "pyston_version_info"): - pytest.skip("Pyston disables recursion checking") class dt: pass @@ -1267,9 +1268,8 @@ class TestFromDTypeAttribute: np.dtype(dt) np.dtype(dt(1)) + @pytest.mark.skipif(IS_PYSTON, reason="Pyston disables recursion checking") def test_void_subtype_recursion(self): - if hasattr(sys, "pyston_version_info"): - pytest.skip("Pyston disables recursion checking") class vdt(np.void): pass diff --git a/numpy/core/tests/test_regression.py b/numpy/core/tests/test_regression.py index 6e566d698..14af3db5f 100644 --- a/numpy/core/tests/test_regression.py +++ b/numpy/core/tests/test_regression.py @@ -22,6 +22,8 @@ try: except NameError: RecursionError = RuntimeError # python < 3.5 +IS_PYSTON = hasattr(sys, "pyston_version_info") + class TestRegression: def test_invalid_round(self): # Ticket #3 @@ -1796,7 +1798,7 @@ class TestRegression: assert_(a.flags.f_contiguous) assert_(b.flags.c_contiguous) - @pytest.mark.skipif(hasattr(sys, "pyston_version_info"), reason="Pyston disables recursion checking") + @pytest.mark.skipif(IS_PYSTON, reason="Pyston disables recursion checking") def test_object_array_self_reference(self): # Object arrays with references to themselves can cause problems a = np.array(0, dtype=object) @@ -1805,7 +1807,7 @@ class TestRegression: assert_raises(RecursionError, float, a) a[()] = None - @pytest.mark.skipif(hasattr(sys, "pyston_version_info"), reason="Pyston disables recursion checking") + @pytest.mark.skipif(IS_PYSTON, reason="Pyston disables recursion checking") def test_object_array_circular_reference(self): # Test the same for a circular reference. a = np.array(0, dtype=object) diff --git a/numpy/testing/_private/utils.py b/numpy/testing/_private/utils.py index 487aa0b4c..77ca4ef85 100644 --- a/numpy/testing/_private/utils.py +++ b/numpy/testing/_private/utils.py @@ -48,7 +48,8 @@ KnownFailureTest = KnownFailureException # backwards compat verbose = 0 IS_PYPY = platform.python_implementation() == 'PyPy' -HAS_REFCOUNT = getattr(sys, 'getrefcount', None) is not None +IS_PYSTON = hasattr(sys, "pyston_version_info") +HAS_REFCOUNT = getattr(sys, 'getrefcount', None) is not None and not IS_PYSTON HAS_LAPACK64 = numpy.linalg.lapack_lite._ilp64 |