golden hour
/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/core/tests
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
0 B
Del
OK
__pycache__
-
Del
OK
_locales.py
2.15 KB
Del
OK
data
-
Del
OK
examples
-
Del
OK
test__exceptions.py
2.78 KB
Del
OK
test_abc.py
2.17 KB
Del
OK
test_api.py
22.46 KB
Del
OK
test_argparse.py
1.92 KB
Del
OK
test_array_coercion.py
33.57 KB
Del
OK
test_array_interface.py
7.42 KB
Del
OK
test_arraymethod.py
3.17 KB
Del
OK
test_arrayprint.py
39.51 KB
Del
OK
test_casting_floatingpoint_errors.py
4.94 KB
Del
OK
test_casting_unittests.py
33.49 KB
Del
OK
test_conversion_utils.py
6.41 KB
Del
OK
test_cpu_dispatcher.py
1.49 KB
Del
OK
test_cpu_features.py
14.51 KB
Del
OK
test_custom_dtypes.py
9.18 KB
Del
OK
test_cython.py
3.54 KB
Del
OK
test_datetime.py
113.49 KB
Del
OK
test_defchararray.py
24.41 KB
Del
OK
test_deprecations.py
30.35 KB
Del
OK
test_dlpack.py
3.44 KB
Del
OK
test_dtype.py
73.52 KB
Del
OK
test_einsum.py
51.72 KB
Del
OK
test_errstate.py
2.17 KB
Del
OK
test_extint128.py
5.51 KB
Del
OK
test_function_base.py
15.23 KB
Del
OK
test_getlimits.py
6.56 KB
Del
OK
test_half.py
23.66 KB
Del
OK
test_hashtable.py
1011 B
Del
OK
test_indexerrors.py
5.01 KB
Del
OK
test_indexing.py
53.04 KB
Del
OK
test_item_selection.py
6.31 KB
Del
OK
test_limited_api.py
1.14 KB
Del
OK
test_longdouble.py
13.58 KB
Del
OK
test_machar.py
1.04 KB
Del
OK
test_mem_overlap.py
28.4 KB
Del
OK
test_mem_policy.py
15.63 KB
Del
OK
test_memmap.py
7.3 KB
Del
OK
test_multiarray.py
370.43 KB
Del
OK
test_nditer.py
127.75 KB
Del
OK
test_nep50_promotions.py
8.63 KB
Del
OK
test_numeric.py
133.34 KB
Del
OK
test_numerictypes.py
21.18 KB
Del
OK
test_overrides.py
25.47 KB
Del
OK
test_print.py
6.68 KB
Del
OK
test_protocols.py
1.14 KB
Del
OK
test_records.py
19.79 KB
Del
OK
test_regression.py
89.3 KB
Del
OK
test_scalar_ctors.py
5.97 KB
Del
OK
test_scalar_methods.py
7.36 KB
Del
OK
test_scalarbuffer.py
5.45 KB
Del
OK
test_scalarinherit.py
2.31 KB
Del
OK
test_scalarmath.py
41.88 KB
Del
OK
test_scalarprint.py
18.33 KB
Del
OK
test_shape_base.py
29.03 KB
Del
OK
test_simd.py
47.55 KB
Del
OK
test_simd_module.py
3.72 KB
Del
OK
test_strings.py
3.75 KB
Del
OK
test_ufunc.py
121.24 KB
Del
OK
test_umath.py
180.79 KB
Del
OK
test_umath_accuracy.py
3.81 KB
Del
OK
test_umath_complex.py
22.7 KB
Del
OK
test_unicode.py
12.48 KB
Del
OK
Edit: test_memmap.py
import sys import os import mmap import pytest from pathlib import Path from tempfile import NamedTemporaryFile, TemporaryFile from numpy import ( memmap, sum, average, prod, ndarray, isscalar, add, subtract, multiply) from numpy import arange, allclose, asarray from numpy.testing import ( assert_, assert_equal, assert_array_equal, suppress_warnings, IS_PYPY, break_cycles ) class TestMemmap: def setup_method(self): self.tmpfp = NamedTemporaryFile(prefix='mmap') self.shape = (3, 4) self.dtype = 'float32' self.data = arange(12, dtype=self.dtype) self.data.resize(self.shape) def teardown_method(self): self.tmpfp.close() self.data = None if IS_PYPY: break_cycles() break_cycles() def test_roundtrip(self): # Write data to file fp = memmap(self.tmpfp, dtype=self.dtype, mode='w+', shape=self.shape) fp[:] = self.data[:] del fp # Test __del__ machinery, which handles cleanup # Read data back from file newfp = memmap(self.tmpfp, dtype=self.dtype, mode='r', shape=self.shape) assert_(allclose(self.data, newfp)) assert_array_equal(self.data, newfp) assert_equal(newfp.flags.writeable, False) def test_open_with_filename(self, tmp_path): tmpname = tmp_path / 'mmap' fp = memmap(tmpname, dtype=self.dtype, mode='w+', shape=self.shape) fp[:] = self.data[:] del fp def test_unnamed_file(self): with TemporaryFile() as f: fp = memmap(f, dtype=self.dtype, shape=self.shape) del fp def test_attributes(self): offset = 1 mode = "w+" fp = memmap(self.tmpfp, dtype=self.dtype, mode=mode, shape=self.shape, offset=offset) assert_equal(offset, fp.offset) assert_equal(mode, fp.mode) del fp def test_filename(self, tmp_path): tmpname = tmp_path / "mmap" fp = memmap(tmpname, dtype=self.dtype, mode='w+', shape=self.shape) abspath = Path(os.path.abspath(tmpname)) fp[:] = self.data[:] assert_equal(abspath, fp.filename) b = fp[:1] assert_equal(abspath, b.filename) del b del fp def test_path(self, tmp_path): tmpname = tmp_path / "mmap" fp = memmap(Path(tmpname), dtype=self.dtype, mode='w+', shape=self.shape) # os.path.realpath does not resolve symlinks on Windows # see: https://bugs.python.org/issue9949 # use Path.resolve, just as memmap class does internally abspath = str(Path(tmpname).resolve()) fp[:] = self.data[:] assert_equal(abspath, str(fp.filename.resolve())) b = fp[:1] assert_equal(abspath, str(b.filename.resolve())) del b del fp def test_filename_fileobj(self): fp = memmap(self.tmpfp, dtype=self.dtype, mode="w+", shape=self.shape) assert_equal(fp.filename, self.tmpfp.name) @pytest.mark.skipif(sys.platform == 'gnu0', reason="Known to fail on hurd") def test_flush(self): fp = memmap(self.tmpfp, dtype=self.dtype, mode='w+', shape=self.shape) fp[:] = self.data[:] assert_equal(fp[0], self.data[0]) fp.flush() def test_del(self): # Make sure a view does not delete the underlying mmap fp_base = memmap(self.tmpfp, dtype=self.dtype, mode='w+', shape=self.shape) fp_base[0] = 5 fp_view = fp_base[0:1] assert_equal(fp_view[0], 5) del fp_view # Should still be able to access and assign values after # deleting the view assert_equal(fp_base[0], 5) fp_base[0] = 6 assert_equal(fp_base[0], 6) def test_arithmetic_drops_references(self): fp = memmap(self.tmpfp, dtype=self.dtype, mode='w+', shape=self.shape) tmp = (fp + 10) if isinstance(tmp, memmap): assert_(tmp._mmap is not fp._mmap) def test_indexing_drops_references(self): fp = memmap(self.tmpfp, dtype=self.dtype, mode='w+', shape=self.shape) tmp = fp[(1, 2), (2, 3)] if isinstance(tmp, memmap): assert_(tmp._mmap is not fp._mmap) def test_slicing_keeps_references(self): fp = memmap(self.tmpfp, dtype=self.dtype, mode='w+', shape=self.shape) assert_(fp[:2, :2]._mmap is fp._mmap) def test_view(self): fp = memmap(self.tmpfp, dtype=self.dtype, shape=self.shape) new1 = fp.view() new2 = new1.view() assert_(new1.base is fp) assert_(new2.base is fp) new_array = asarray(fp) assert_(new_array.base is fp) def test_ufunc_return_ndarray(self): fp = memmap(self.tmpfp, dtype=self.dtype, shape=self.shape) fp[:] = self.data with suppress_warnings() as sup: sup.filter(FutureWarning, "np.average currently does not preserve") for unary_op in [sum, average, prod]: result = unary_op(fp) assert_(isscalar(result)) assert_(result.__class__ is self.data[0, 0].__class__) assert_(unary_op(fp, axis=0).__class__ is ndarray) assert_(unary_op(fp, axis=1).__class__ is ndarray) for binary_op in [add, subtract, multiply]: assert_(binary_op(fp, self.data).__class__ is ndarray) assert_(binary_op(self.data, fp).__class__ is ndarray) assert_(binary_op(fp, fp).__class__ is ndarray) fp += 1 assert(fp.__class__ is memmap) add(fp, 1, out=fp) assert(fp.__class__ is memmap) def test_getitem(self): fp = memmap(self.tmpfp, dtype=self.dtype, shape=self.shape) fp[:] = self.data assert_(fp[1:, :-1].__class__ is memmap) # Fancy indexing returns a copy that is not memmapped assert_(fp[[0, 1]].__class__ is ndarray) def test_memmap_subclass(self): class MemmapSubClass(memmap): pass fp = MemmapSubClass(self.tmpfp, dtype=self.dtype, shape=self.shape) fp[:] = self.data # We keep previous behavior for subclasses of memmap, i.e. the # ufunc and __getitem__ output is never turned into a ndarray assert_(sum(fp, axis=0).__class__ is MemmapSubClass) assert_(sum(fp).__class__ is MemmapSubClass) assert_(fp[1:, :-1].__class__ is MemmapSubClass) assert(fp[[0, 1]].__class__ is MemmapSubClass) def test_mmap_offset_greater_than_allocation_granularity(self): size = 5 * mmap.ALLOCATIONGRANULARITY offset = mmap.ALLOCATIONGRANULARITY + 1 fp = memmap(self.tmpfp, shape=size, mode='w+', offset=offset) assert_(fp.offset == offset) def test_no_shape(self): self.tmpfp.write(b'a'*16) mm = memmap(self.tmpfp, dtype='float64') assert_equal(mm.shape, (2,)) def test_empty_array(self): # gh-12653 with pytest.raises(ValueError, match='empty file'): memmap(self.tmpfp, shape=(0,4), mode='w+') self.tmpfp.write(b'\0') # ok now the file is not empty memmap(self.tmpfp, shape=(0,4), mode='w+')
Save