You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
215 lines
7.1 KiB
215 lines
7.1 KiB
numpy/core/tests/test_memmap.py | 34 ++++++++++++++++------------------
|
|
numpy/core/tests/test_multiarray.py | 9 +++------
|
|
numpy/f2py/__init__.py | 22 +++++++++++-----------
|
|
numpy/f2py/f2py2e.py | 4 ++--
|
|
numpy/lib/tests/test_io.py | 24 ++++++++++++++++--------
|
|
5 files changed, 48 insertions(+), 45 deletions(-)
|
|
|
|
diff --git a/numpy/core/tests/test_memmap.py b/numpy/core/tests/test_memmap.py
|
|
index 6de6319..10e7a08 100644
|
|
--- a/numpy/core/tests/test_memmap.py
|
|
+++ b/numpy/core/tests/test_memmap.py
|
|
@@ -1,7 +1,7 @@
|
|
from __future__ import division, absolute_import, print_function
|
|
|
|
import sys
|
|
-from tempfile import NamedTemporaryFile, TemporaryFile, mktemp
|
|
+from tempfile import NamedTemporaryFile, TemporaryFile
|
|
import os
|
|
|
|
from numpy import memmap
|
|
@@ -33,12 +33,11 @@ class TestMemmap(TestCase):
|
|
assert_array_equal(self.data, newfp)
|
|
|
|
def test_open_with_filename(self):
|
|
- tmpname = mktemp('', 'mmap')
|
|
- fp = memmap(tmpname, dtype=self.dtype, mode='w+',
|
|
- shape=self.shape)
|
|
- fp[:] = self.data[:]
|
|
- del fp
|
|
- os.unlink(tmpname)
|
|
+ with NamedTemporaryFile() as tmp:
|
|
+ fp = memmap(tmp.name, dtype=self.dtype, mode='w+',
|
|
+ shape=self.shape)
|
|
+ fp[:] = self.data[:]
|
|
+ del fp
|
|
|
|
def test_unnamed_file(self):
|
|
with TemporaryFile() as f:
|
|
@@ -55,17 +54,16 @@ class TestMemmap(TestCase):
|
|
del fp
|
|
|
|
def test_filename(self):
|
|
- tmpname = mktemp('', 'mmap')
|
|
- fp = memmap(tmpname, dtype=self.dtype, mode='w+',
|
|
- shape=self.shape)
|
|
- abspath = os.path.abspath(tmpname)
|
|
- fp[:] = self.data[:]
|
|
- self.assertEqual(abspath, fp.filename)
|
|
- b = fp[:1]
|
|
- self.assertEqual(abspath, b.filename)
|
|
- del b
|
|
- del fp
|
|
- os.unlink(tmpname)
|
|
+ with NamedTemporaryFile() as tmp:
|
|
+ fp = memmap(tmp.name, dtype=self.dtype, mode='w+',
|
|
+ shape=self.shape)
|
|
+ abspath = os.path.abspath(tmp.name)
|
|
+ fp[:] = self.data[:]
|
|
+ self.assertEqual(abspath, fp.filename)
|
|
+ b = fp[:1]
|
|
+ self.assertEqual(abspath, b.filename)
|
|
+ del b
|
|
+ del fp
|
|
|
|
def test_filename_fileobj(self):
|
|
fp = memmap(self.tmpfp, dtype=self.dtype, mode="w+",
|
|
diff --git a/numpy/core/tests/test_multiarray.py b/numpy/core/tests/test_multiarray.py
|
|
index a0c4bcf..37b9931 100644
|
|
--- a/numpy/core/tests/test_multiarray.py
|
|
+++ b/numpy/core/tests/test_multiarray.py
|
|
@@ -2051,12 +2051,11 @@ class TestIO(object):
|
|
self.x = rand(shape) + rand(shape).astype(np.complex)*1j
|
|
self.x[0,:, 1] = [nan, inf, -inf, nan]
|
|
self.dtype = self.x.dtype
|
|
- self.filename = tempfile.mktemp()
|
|
+ self.file = tempfile.NamedTemporaryFile()
|
|
+ self.filename = self.file.name
|
|
|
|
def tearDown(self):
|
|
- if os.path.isfile(self.filename):
|
|
- os.unlink(self.filename)
|
|
- #tmp_file.close()
|
|
+ self.file.close()
|
|
|
|
def test_bool_fromstring(self):
|
|
v = np.array([True, False, True, False], dtype=np.bool_)
|
|
@@ -2084,7 +2083,6 @@ class TestIO(object):
|
|
y = np.fromfile(f, dtype=self.dtype)
|
|
f.close()
|
|
assert_array_equal(y, self.x.flat)
|
|
- os.unlink(self.filename)
|
|
|
|
def test_roundtrip_filename(self):
|
|
self.x.tofile(self.filename)
|
|
@@ -2217,7 +2215,6 @@ class TestIO(object):
|
|
s = f.read()
|
|
f.close()
|
|
assert_equal(s, '1.51,2.0,3.51,4.0')
|
|
- os.unlink(self.filename)
|
|
|
|
def test_tofile_format(self):
|
|
x = np.array([1.51, 2, 3.51, 4], dtype=float)
|
|
diff --git a/numpy/f2py/__init__.py b/numpy/f2py/__init__.py
|
|
index ccdbd4e..fcfd185 100644
|
|
--- a/numpy/f2py/__init__.py
|
|
+++ b/numpy/f2py/__init__.py
|
|
@@ -28,20 +28,20 @@ def compile(source,
|
|
from numpy.distutils.exec_command import exec_command
|
|
import tempfile
|
|
if source_fn is None:
|
|
- fname = os.path.join(tempfile.mktemp()+'.f')
|
|
+ f = tempfile.NamedTemporaryFile(suffix='.f')
|
|
else:
|
|
- fname = source_fn
|
|
-
|
|
- f = open(fname, 'w')
|
|
- f.write(source)
|
|
- f.close()
|
|
-
|
|
- args = ' -c -m %s %s %s'%(modulename, fname, extra_args)
|
|
- c = '%s -c "import numpy.f2py as f2py2e;f2py2e.main()" %s' %(sys.executable, args)
|
|
- s, o = exec_command(c)
|
|
- if source_fn is None:
|
|
- try: os.remove(fname)
|
|
- except OSError: pass
|
|
+ f = open(source_fn, 'w')
|
|
+
|
|
+ try:
|
|
+ f.write(source)
|
|
+ f.flush()
|
|
+
|
|
+ args = ' -c -m %s %s %s'%(modulename, f.name, extra_args)
|
|
+ c = '%s -c "import numpy.f2py as f2py2e;f2py2e.main()" %s' % \
|
|
+ (sys.executable, args)
|
|
+ s, o = exec_command(c)
|
|
+ finally:
|
|
+ f.close()
|
|
return s
|
|
|
|
from numpy.testing import Tester
|
|
diff --git a/numpy/f2py/f2py2e.py b/numpy/f2py/f2py2e.py
|
|
old mode 100755
|
|
new mode 100644
|
|
index 011b430..b264ea3
|
|
--- a/numpy/f2py/f2py2e.py
|
|
+++ b/numpy/f2py/f2py2e.py
|
|
@@ -91,7 +91,7 @@ Options:
|
|
--lower is assumed with -h key, and --no-lower without -h key.
|
|
|
|
--build-dir <dirname> All f2py generated files are created in <dirname>.
|
|
- Default is tempfile.mktemp().
|
|
+ Default is tempfile.mkdtemp().
|
|
|
|
--overwrite-signature Overwrite existing signature file.
|
|
|
|
@@ -428,7 +428,7 @@ def run_compile():
|
|
del sys.argv[i]
|
|
else:
|
|
remove_build_dir = 1
|
|
- build_dir = os.path.join(tempfile.mktemp())
|
|
+ build_dir = tempfile.mkdtemp()
|
|
|
|
_reg1 = re.compile(r'[-][-]link[-]')
|
|
sysinfo_flags = [_m for _m in sys.argv[1:] if _reg1.match(_m)]
|
|
diff --git a/numpy/lib/tests/test_io.py b/numpy/lib/tests/test_io.py
|
|
index fdd78b2..caffada 100644
|
|
--- a/numpy/lib/tests/test_io.py
|
|
+++ b/numpy/lib/tests/test_io.py
|
|
@@ -4,7 +4,9 @@ import sys
|
|
import gzip
|
|
import os
|
|
import threading
|
|
-from tempfile import mkstemp, mktemp, NamedTemporaryFile
|
|
+import shutil
|
|
+import contextlib
|
|
+from tempfile import mkstemp, mkdtemp, NamedTemporaryFile
|
|
import time
|
|
import warnings
|
|
import gc
|
|
@@ -21,6 +23,12 @@ from numpy.ma.testutils import (TestCase, assert_equal, assert_array_equal,
|
|
assert_raises, run_module_suite)
|
|
from numpy.testing import assert_warns, assert_, build_err_msg
|
|
|
|
+@contextlib.contextmanager
|
|
+def tempdir(change_dir=False):
|
|
+ tmpdir = mkdtemp()
|
|
+ yield tmpdir
|
|
+ shutil.rmtree(tmpdir)
|
|
+
|
|
|
|
class TextIO(BytesIO):
|
|
"""Helper IO class.
|
|
@@ -145,14 +153,14 @@ class TestSavezLoad(RoundtripTest, TestCase):
|
|
@np.testing.dec.slow
|
|
def test_big_arrays(self):
|
|
L = (1 << 31) + 100000
|
|
- tmp = mktemp(suffix='.npz')
|
|
a = np.empty(L, dtype=np.uint8)
|
|
- np.savez(tmp, a=a)
|
|
- del a
|
|
- npfile = np.load(tmp)
|
|
- a = npfile['a']
|
|
- npfile.close()
|
|
- os.remove(tmp)
|
|
+ with tempdir() as tmpdir:
|
|
+ tmp = open(os.path.join(tmpdir, "file.npz"), "w")
|
|
+ np.savez(tmp, a=a)
|
|
+ del a
|
|
+ npfile = np.load(tmp)
|
|
+ a = npfile['a']
|
|
+ npfile.close()
|
|
|
|
def test_multiple_arrays(self):
|
|
a = np.array([[1, 2], [3, 4]], float)
|