File: test_1381_check_errors.py

package info (click to toggle)
python-awkward 2.6.5-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 23,088 kB
  • sloc: python: 148,689; cpp: 33,562; sh: 432; makefile: 21; javascript: 8
file content (48 lines) | stat: -rw-r--r-- 1,244 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# BSD 3-Clause License; see https://github.com/scikit-hep/awkward/blob/main/LICENSE

from __future__ import annotations

import traceback

import cupy as cp
import numpy as np  # noqa: F401
import pytest

import awkward as ak
import awkward._connect.cuda

try:
    ak.numba.register_and_check()
except ImportError:
    pytest.skip(reason="too old Numba version", allow_module_level=True)


def test():
    v2_array = ak.Array([1, 2, 3, 4, 5]).layout

    stream = cp.cuda.Stream(non_blocking=True)

    v2_array_cuda = ak.to_backend(v2_array, "cuda")
    with cp.cuda.Stream() as stream:
        v2_array_cuda[10,]
        v2_array_cuda[11,]
        v2_array_cuda[12,]

    with pytest.raises(ValueError) as err:
        awkward._connect.cuda.synchronize_cuda(stream)

    assert isinstance(err.value, ValueError)

    message = "".join(traceback.format_exception(err.type, err.value, err.tb))
    assert (
        "ValueError: index out of range in compiled CUDA code "
        "(awkward_RegularArray_getitem_next_at)\n"
        "\n"
        "This error occurred while attempting to slice\n"
        "\n"
        "    <Array [1, 2, 3, 4, 5] type='5 * int64'>\n"
        "\n"
        "with\n"
        "\n"
        "    (10)\n"
    ) in message