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
132
133
134
135
136
137
138
|
"""Tests for missing-raises-doc and missing-raises-type-doc for Google style docstrings"""
# pylint: disable=function-redefined, invalid-name, undefined-variable, missing-function-docstring
# pylint: disable=unused-argument, import-outside-toplevel, import-error, try-except-raise
def test_find_missing_google_raises(self): # [missing-raises-doc]
"""This is a Google docstring.
Raises:
NameError: Never
"""
raise RuntimeError("hi")
raise NameError("hi") # [unreachable]
def test_find_google_attr_raises_exact_exc(self):
"""This is a google docstring.
Raises:
re.error: Sometimes
"""
import re
raise re.error("hi")
def test_find_google_attr_raises_substr_exc(self):
"""This is a google docstring.
Raises:
re.error: Sometimes
"""
from re import error
raise error("hi")
def test_find_valid_missing_google_attr_raises(self): # [missing-raises-doc]
"""This is a google docstring.
Raises:
re.anothererror: Sometimes
"""
from re import error
raise error("hi")
def test_find_invalid_missing_google_attr_raises(self):
"""This is a google 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")
def test_google_raises_local_reference(self):
"""This is a google docstring.
pylint allows this to pass since the comparison between Raises and
raise are based on the class name, not the qualified name.
Raises:
.LocalException: Always
"""
from neighbor_module import LocalException
raise LocalException("hi")
def test_find_all_google_raises(self):
"""This is a Google docstring.
Raises:
RuntimeError: Always
NameError: Never
"""
raise RuntimeError("hi")
raise NameError("hi") # [unreachable]
def test_find_multiple_google_raises(self):
"""This is a Google docstring.
Raises:
RuntimeError: Always
NameError, OSError, ValueError: Never
"""
raise RuntimeError("hi")
raise NameError("hi") # [unreachable]
raise OSError(2, "abort!") # [unreachable]
raise ValueError("foo") # [unreachable]
def test_find_rethrown_google_raises(self): # [missing-raises-doc]
"""This is a Google docstring.
Raises:
NameError: Sometimes
"""
try:
fake_func()
except RuntimeError:
raise
raise NameError("hi")
def test_find_rethrown_google_multiple_raises(self): # [missing-raises-doc]
"""This is a Google docstring.
Raises:
NameError: Sometimes
"""
try:
fake_func()
except (RuntimeError, ValueError):
raise
raise NameError("hi")
def test_ignores_caught_google_raises(self):
"""This is a Google docstring.
Raises:
NameError: Sometimes
"""
try:
raise RuntimeError("hi")
except RuntimeError:
pass
raise NameError("hi")
|