summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorslepton <slepton@posteo.de>2021-07-07 08:27:49 +0200
committerslepton <slepton@posteo.de>2021-07-07 19:49:22 +0200
commit984593982f0baf4be771cf578635994c88559078 (patch)
tree4fed8be2102a35c8a6cd49920fbc24b1a6db4ad1 /numpy
parentf5fcd004956c7c6a7699d73a9fd687f145f7cc29 (diff)
downloadnumpy-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.py14
-rw-r--r--numpy/core/tests/test_regression.py6
-rw-r--r--numpy/testing/_private/utils.py3
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