PHP 8.2.30
Preview: test__exceptions.py Size: 2.78 KB
//proc/thread-self/root/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/core/tests/test__exceptions.py

"""
Tests of the ._exceptions module. Primarily for exercising the __str__ methods.
"""

import pickle

import pytest
import numpy as np

_ArrayMemoryError = np.core._exceptions._ArrayMemoryError
_UFuncNoLoopError = np.core._exceptions._UFuncNoLoopError

class TestArrayMemoryError:
    def test_pickling(self):
        """ Test that _ArrayMemoryError can be pickled """
        error = _ArrayMemoryError((1023,), np.dtype(np.uint8))
        res = pickle.loads(pickle.dumps(error))
        assert res._total_size == error._total_size

    def test_str(self):
        e = _ArrayMemoryError((1023,), np.dtype(np.uint8))
        str(e)  # not crashing is enough

    # testing these properties is easier than testing the full string repr
    def test__size_to_string(self):
        """ Test e._size_to_string """
        f = _ArrayMemoryError._size_to_string
        Ki = 1024
        assert f(0) == '0 bytes'
        assert f(1) == '1 bytes'
        assert f(1023) == '1023 bytes'
        assert f(Ki) == '1.00 KiB'
        assert f(Ki+1) == '1.00 KiB'
        assert f(10*Ki) == '10.0 KiB'
        assert f(int(999.4*Ki)) == '999. KiB'
        assert f(int(1023.4*Ki)) == '1023. KiB'
        assert f(int(1023.5*Ki)) == '1.00 MiB'
        assert f(Ki*Ki) == '1.00 MiB'

        # 1023.9999 Mib should round to 1 GiB
        assert f(int(Ki*Ki*Ki*0.9999)) == '1.00 GiB'
        assert f(Ki*Ki*Ki*Ki*Ki*Ki) == '1.00 EiB'
        # larger than sys.maxsize, adding larger prefixes isn't going to help
        # anyway.
        assert f(Ki*Ki*Ki*Ki*Ki*Ki*123456) == '123456. EiB'

    def test__total_size(self):
        """ Test e._total_size """
        e = _ArrayMemoryError((1,), np.dtype(np.uint8))
        assert e._total_size == 1

        e = _ArrayMemoryError((2, 4), np.dtype((np.uint64, 16)))
        assert e._total_size == 1024


class TestUFuncNoLoopError:
    def test_pickling(self):
        """ Test that _UFuncNoLoopError can be pickled """
        assert isinstance(pickle.dumps(_UFuncNoLoopError), bytes)


@pytest.mark.parametrize("args", [
    (2, 1, None),
    (2, 1, "test_prefix"),
    ("test message",),
])
class TestAxisError:
    def test_attr(self, args):
        """Validate attribute types."""
        exc = np.AxisError(*args)
        if len(args) == 1:
            assert exc.axis is None
            assert exc.ndim is None
        else:
            axis, ndim, *_ = args
            assert exc.axis == axis
            assert exc.ndim == ndim

    def test_pickling(self, args):
        """Test that `AxisError` can be pickled."""
        exc = np.AxisError(*args)
        exc2 = pickle.loads(pickle.dumps(exc))

        assert type(exc) is type(exc2)
        for name in ("axis", "ndim", "args"):
            attr1 = getattr(exc, name)
            attr2 = getattr(exc2, name)
            assert attr1 == attr2, name

Directory Contents

Dirs: 3 × Files: 63

Name Size Perms Modified Actions
data DIR
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
examples DIR
- drwxr-xr-x 2026-01-20 13:01:48
Edit Download
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
2.17 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
22.46 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
1.92 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
3.17 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
39.51 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
33.57 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
7.42 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.94 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
33.49 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
6.41 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
1.49 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
14.51 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
9.18 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
3.54 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
113.49 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
24.41 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
30.35 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.44 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
73.52 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
51.72 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
2.17 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
5.51 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
15.23 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
6.56 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
23.66 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
1011 B lrw-r--r-- 2026-01-20 13:01:48
Edit Download
5.01 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
53.04 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
6.31 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.14 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
13.58 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.04 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
7.30 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
28.40 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
15.63 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
370.43 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
127.75 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
8.63 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
133.34 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
21.18 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
25.47 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
6.68 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
1.14 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
19.79 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
89.30 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
5.45 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.31 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
41.88 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
18.33 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
5.97 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
7.36 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
29.03 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
47.55 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
3.72 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
3.75 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
121.24 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
180.79 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.81 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
22.70 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
12.48 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
2.78 KB lrw-r--r-- 2026-01-20 13:01:48
Edit Download
2.15 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
0 B lrw-r--r-- 2026-01-20 13:01:48
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).