summaryrefslogtreecommitdiff
path: root/tests/functional/ext/docparams/raise/missing_raises_doc_Numpy.py
blob: e4a9308bd63f8304d5808f596f833f5313488071 (plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
"""Tests for missing-raises-doc and missing-raises-type-doc for Numpy style docstrings"""
# pylint: disable=function-redefined, invalid-name, undefined-variable, missing-function-docstring
# pylint: disable=unused-argument, try-except-raise, import-outside-toplevel


def test_find_missing_numpy_raises(self):  # [missing-raises-doc]
    """This is a Numpy docstring.

    Raises
    ------
    NameError
        Never
    """
    raise RuntimeError("hi")
    raise NameError("hi")  # [unreachable]


def test_find_all_numpy_raises(self):
    """This is a Numpy docstring.

    Raises
    ------
    RuntimeError
        Always
    NameError
        Never
    """
    raise RuntimeError("hi")
    raise NameError("hi")  # [unreachable]


def test_find_rethrown_numpy_raises(self):  # [missing-raises-doc]
    """This is a Numpy docstring.

    Raises
    ------
    NameError
        Sometimes
    """
    try:
        fake_func()
    except RuntimeError:
        raise

    raise NameError("hi")


def test_find_rethrown_numpy_multiple_raises(self):  # [missing-raises-doc]
    """This is a Numpy docstring.

    Raises
    ------
    NameError
        Sometimes
    """
    try:
        fake_func()
    except (RuntimeError, ValueError):
        raise

    raise NameError("hi")


def test_ignores_caught_numpy_raises(self):
    """This is a numpy docstring.

    Raises
    ------
    NameError
        Sometimes
    """
    try:
        raise RuntimeError("hi")
    except RuntimeError:
        pass

    raise NameError("hi")


def test_find_numpy_attr_raises_exact_exc(self):
    """This is a numpy docstring.

    Raises
    ------
    re.error
        Sometimes
    """
    import re

    raise re.error("hi")


def test_find_numpy_attr_raises_substr_exc(self):
    """This is a numpy docstring.

    Raises
    ------
    re.error
        Sometimes
    """
    from re import error

    raise error("hi")


def test_find_valid_missing_numpy_attr_raises(self):  # [missing-raises-doc]
    """This is a numpy docstring.

    Raises
    ------
    re.anothererror
        Sometimes
    """
    from re import error

    raise error("hi")


def test_find_invalid_missing_numpy_attr_raises(self):
    """This is a numpy docstring.
     pylint allows this to pass since the comparison between Raises and
    raise are based on the class name, not the qualified name.

    Raises
    ------
    bogusmodule.error
        Sometimes
    """
    from re import error

    raise error("hi")