OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
hps
/
faces
/
faces
/
lib
/
python3.10
/
site-packages
/
numpy
/
core
/
tests
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/26/2024 01:29:21 PM
rwxr-xr-x
📄
__init__.py
0 bytes
10/26/2024 01:28:11 PM
rw-r--r--
📁
__pycache__
-
10/26/2024 01:29:24 PM
rwxr-xr-x
📄
_locales.py
2.15 KB
10/26/2024 01:28:11 PM
rw-r--r--
📁
data
-
10/26/2024 01:29:22 PM
rwxr-xr-x
📁
examples
-
10/26/2024 01:30:05 PM
rwxr-xr-x
📄
test__exceptions.py
2.78 KB
10/26/2024 01:28:11 PM
rw-r--r--
📄
test_abc.py
2.17 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_api.py
21.91 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_argparse.py
1.93 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_array_coercion.py
31.51 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_array_interface.py
7.42 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_arraymethod.py
3.49 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_arrayprint.py
36.29 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_casting_floatingpoint_errors.py
4.94 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_casting_unittests.py
33.49 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_conversion_utils.py
6.41 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_cpu_dispatcher.py
1.49 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_cpu_features.py
7 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_custom_dtypes.py
7.5 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_cython.py
3.54 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_datetime.py
112.48 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_defchararray.py
24.03 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_deprecations.py
44.43 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_dlpack.py
3.42 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_dtype.py
70.86 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_einsum.py
49 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_errstate.py
2.17 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_extint128.py
5.51 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_function_base.py
14.07 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_getlimits.py
5.18 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_half.py
23.66 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_hashtable.py
1011 bytes
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_indexerrors.py
5.01 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_indexing.py
53.04 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_item_selection.py
3.5 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_limited_api.py
1.14 KB
10/26/2024 01:28:09 PM
rw-r--r--
📄
test_longdouble.py
12.74 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_machar.py
1.04 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_mem_overlap.py
28.41 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_mem_policy.py
15.57 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_memmap.py
7.31 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_multiarray.py
361.83 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_nditer.py
126.52 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_nep50_promotions.py
6.31 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_numeric.py
134.44 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_numerictypes.py
20.76 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_overrides.py
21.57 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_print.py
6.58 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_protocols.py
1.14 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_records.py
19.79 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_regression.py
89.1 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_scalar_ctors.py
5.97 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_scalar_methods.py
7.69 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_scalarbuffer.py
5.46 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_scalarinherit.py
2.32 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_scalarmath.py
41.81 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_scalarprint.py
18.26 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_shape_base.py
28.97 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_simd.py
42.6 KB
10/26/2024 01:28:10 PM
rw-r--r--
📄
test_simd_module.py
3.72 KB
10/26/2024 01:28:11 PM
rw-r--r--
📄
test_strings.py
3.75 KB
10/26/2024 01:28:11 PM
rw-r--r--
📄
test_ufunc.py
113.7 KB
10/26/2024 01:28:11 PM
rw-r--r--
📄
test_umath.py
168.45 KB
10/26/2024 01:28:11 PM
rw-r--r--
📄
test_umath_accuracy.py
3.81 KB
10/26/2024 01:28:11 PM
rw-r--r--
📄
test_umath_complex.py
22.7 KB
10/26/2024 01:28:11 PM
rw-r--r--
📄
test_unicode.py
12.35 KB
10/26/2024 01:28:11 PM
rw-r--r--
Editing: test_scalarbuffer.py
Close
""" Test scalar buffer interface adheres to PEP 3118 """ import numpy as np from numpy.core._rational_tests import rational from numpy.core._multiarray_tests import get_buffer_info import pytest from numpy.testing import assert_, assert_equal, assert_raises # PEP3118 format strings for native (standard alignment and byteorder) types scalars_and_codes = [ (np.bool_, '?'), (np.byte, 'b'), (np.short, 'h'), (np.intc, 'i'), (np.int_, 'l'), (np.longlong, 'q'), (np.ubyte, 'B'), (np.ushort, 'H'), (np.uintc, 'I'), (np.uint, 'L'), (np.ulonglong, 'Q'), (np.half, 'e'), (np.single, 'f'), (np.double, 'd'), (np.longdouble, 'g'), (np.csingle, 'Zf'), (np.cdouble, 'Zd'), (np.clongdouble, 'Zg'), ] scalars_only, codes_only = zip(*scalars_and_codes) class TestScalarPEP3118: @pytest.mark.parametrize('scalar', scalars_only, ids=codes_only) def test_scalar_match_array(self, scalar): x = scalar() a = np.array([], dtype=np.dtype(scalar)) mv_x = memoryview(x) mv_a = memoryview(a) assert_equal(mv_x.format, mv_a.format) @pytest.mark.parametrize('scalar', scalars_only, ids=codes_only) def test_scalar_dim(self, scalar): x = scalar() mv_x = memoryview(x) assert_equal(mv_x.itemsize, np.dtype(scalar).itemsize) assert_equal(mv_x.ndim, 0) assert_equal(mv_x.shape, ()) assert_equal(mv_x.strides, ()) assert_equal(mv_x.suboffsets, ()) @pytest.mark.parametrize('scalar, code', scalars_and_codes, ids=codes_only) def test_scalar_code_and_properties(self, scalar, code): x = scalar() expected = dict(strides=(), itemsize=x.dtype.itemsize, ndim=0, shape=(), format=code, readonly=True) mv_x = memoryview(x) assert self._as_dict(mv_x) == expected @pytest.mark.parametrize('scalar', scalars_only, ids=codes_only) def test_scalar_buffers_readonly(self, scalar): x = scalar() with pytest.raises(BufferError, match="scalar buffer is readonly"): get_buffer_info(x, ["WRITABLE"]) def test_void_scalar_structured_data(self): dt = np.dtype([('name', np.unicode_, 16), ('grades', np.float64, (2,))]) x = np.array(('ndarray_scalar', (1.2, 3.0)), dtype=dt)[()] assert_(isinstance(x, np.void)) mv_x = memoryview(x) expected_size = 16 * np.dtype((np.unicode_, 1)).itemsize expected_size += 2 * np.dtype(np.float64).itemsize assert_equal(mv_x.itemsize, expected_size) assert_equal(mv_x.ndim, 0) assert_equal(mv_x.shape, ()) assert_equal(mv_x.strides, ()) assert_equal(mv_x.suboffsets, ()) # check scalar format string against ndarray format string a = np.array([('Sarah', (8.0, 7.0)), ('John', (6.0, 7.0))], dtype=dt) assert_(isinstance(a, np.ndarray)) mv_a = memoryview(a) assert_equal(mv_x.itemsize, mv_a.itemsize) assert_equal(mv_x.format, mv_a.format) # Check that we do not allow writeable buffer export (technically # we could allow it sometimes here...) with pytest.raises(BufferError, match="scalar buffer is readonly"): get_buffer_info(x, ["WRITABLE"]) def _as_dict(self, m): return dict(strides=m.strides, shape=m.shape, itemsize=m.itemsize, ndim=m.ndim, format=m.format, readonly=m.readonly) def test_datetime_memoryview(self): # gh-11656 # Values verified with v1.13.3, shape is not () as in test_scalar_dim dt1 = np.datetime64('2016-01-01') dt2 = np.datetime64('2017-01-01') expected = dict(strides=(1,), itemsize=1, ndim=1, shape=(8,), format='B', readonly=True) v = memoryview(dt1) assert self._as_dict(v) == expected v = memoryview(dt2 - dt1) assert self._as_dict(v) == expected dt = np.dtype([('a', 'uint16'), ('b', 'M8[s]')]) a = np.empty(1, dt) # Fails to create a PEP 3118 valid buffer assert_raises((ValueError, BufferError), memoryview, a[0]) # Check that we do not allow writeable buffer export with pytest.raises(BufferError, match="scalar buffer is readonly"): get_buffer_info(dt1, ["WRITABLE"]) @pytest.mark.parametrize('s', [ pytest.param("\x32\x32", id="ascii"), pytest.param("\uFE0F\uFE0F", id="basic multilingual"), pytest.param("\U0001f4bb\U0001f4bb", id="non-BMP"), ]) def test_str_ucs4(self, s): s = np.str_(s) # only our subclass implements the buffer protocol # all the same, characters always encode as ucs4 expected = dict(strides=(), itemsize=8, ndim=0, shape=(), format='2w', readonly=True) v = memoryview(s) assert self._as_dict(v) == expected # integers of the paltform-appropriate endianness code_points = np.frombuffer(v, dtype='i4') assert_equal(code_points, [ord(c) for c in s]) # Check that we do not allow writeable buffer export with pytest.raises(BufferError, match="scalar buffer is readonly"): get_buffer_info(s, ["WRITABLE"]) def test_user_scalar_fails_buffer(self): r = rational(1) with assert_raises(TypeError): memoryview(r) # Check that we do not allow writeable buffer export with pytest.raises(BufferError, match="scalar buffer is readonly"): get_buffer_info(r, ["WRITABLE"])