summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2013-08-17 19:41:09 -0600
committerCharles Harris <charlesr.harris@gmail.com>2013-08-17 20:01:13 -0600
commitd0bdae43724342abea17ed89f9cd6a96d11fc256 (patch)
tree485be56ac5a68ba1974ddd011044bdedc6bb1223 /numpy
parent7d01fe5684698026bf80506423adbdf03f453813 (diff)
downloadnumpy-d0bdae43724342abea17ed89f9cd6a96d11fc256.tar.gz
TST: Add test for reference leak in zeros, ones, empty, and full.
Check that the reference counts of the passed dimensions do not change.
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/tests/test_numeric.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/numpy/core/tests/test_numeric.py b/numpy/core/tests/test_numeric.py
index 341884f04..fdf1c1ac1 100644
--- a/numpy/core/tests/test_numeric.py
+++ b/numpy/core/tests/test_numeric.py
@@ -1546,6 +1546,20 @@ class TestCreationFuncs(TestCase):
self.check_function(np.full, 0)
self.check_function(np.full, 1)
+ def test_for_reference_leak(self):
+ # Make sure we have an object for reference
+ dim = 1
+ beg = sys.getrefcount(dim)
+ np.zeros([dim]*10)
+ assert_(sys.getrefcount(dim) == beg)
+ np.ones([dim]*10)
+ assert_(sys.getrefcount(dim) == beg)
+ np.empty([dim]*10)
+ assert_(sys.getrefcount(dim) == beg)
+ np.full([dim]*10, 0)
+ assert_(sys.getrefcount(dim) == beg)
+
+
class TestLikeFuncs(TestCase):
'''Test ones_like, zeros_like, empty_like and full_like'''