|
12 | 12 |
|
13 | 13 | from nose2 import config, util |
14 | 14 |
|
| 15 | +if t.TYPE_CHECKING: |
| 16 | + from nose2.session import Session |
| 17 | + |
15 | 18 | log = logging.getLogger(__name__) |
16 | 19 | __unittest = True |
17 | 20 |
|
@@ -98,8 +101,12 @@ class Plugin(metaclass=PluginMeta): |
98 | 101 |
|
99 | 102 | """ |
100 | 103 |
|
101 | | - alwaysOn = False |
102 | | - registered = False |
| 104 | + # annotate instance vars created via PluginMeta |
| 105 | + session: Session |
| 106 | + config: config.Config |
| 107 | + |
| 108 | + alwaysOn: bool = False |
| 109 | + registered: bool = False |
103 | 110 |
|
104 | 111 | def register(self): |
105 | 112 | """Register with appropriate hooks. |
@@ -226,7 +233,7 @@ class Hook: |
226 | 233 |
|
227 | 234 | def __init__(self, method) -> None: |
228 | 235 | self.method = method |
229 | | - self.plugins = [] |
| 236 | + self.plugins: list[Plugin] = [] |
230 | 237 |
|
231 | 238 | def __call__(self, event): |
232 | 239 | for plugin in self.plugins[:]: |
@@ -320,7 +327,7 @@ class PluginInterface: |
320 | 327 | hookClass: type[Hook] = Hook |
321 | 328 |
|
322 | 329 | def __init__(self) -> None: |
323 | | - self.hooks = {} |
| 330 | + self.hooks: dict[str, list[Hook]] = {} |
324 | 331 |
|
325 | 332 | def addMethod(self, method): |
326 | 333 | """Add a method to the available method. |
@@ -840,7 +847,7 @@ class LoadFromModuleEvent(Event): |
840 | 847 | def __init__(self, loader, module, **kw) -> None: |
841 | 848 | self.loader = loader |
842 | 849 | self.module = module |
843 | | - self.extraTests = [] |
| 850 | + self.extraTests: list[unittest.TestCase] = [] |
844 | 851 | super().__init__(**kw) |
845 | 852 |
|
846 | 853 |
|
@@ -883,7 +890,7 @@ class LoadFromTestCaseEvent(Event): |
883 | 890 | def __init__(self, loader, testCase, **kw) -> None: |
884 | 891 | self.loader = loader |
885 | 892 | self.testCase = testCase |
886 | | - self.extraTests = [] |
| 893 | + self.extraTests: list[unittest.TestCase] = [] |
887 | 894 | super().__init__(**kw) |
888 | 895 |
|
889 | 896 |
|
@@ -922,7 +929,7 @@ def __init__(self, loader, names, module, **kw) -> None: |
922 | 929 | self.loader = loader |
923 | 930 | self.names = names |
924 | 931 | self.module = module |
925 | | - self.extraTests = [] |
| 932 | + self.extraTests: list[unittest.TestCase] = [] |
926 | 933 | super().__init__(**kw) |
927 | 934 |
|
928 | 935 | def __str__(self): |
@@ -964,7 +971,7 @@ def __init__(self, loader, name, module, **kw) -> None: |
964 | 971 | self.loader = loader |
965 | 972 | self.name = name |
966 | 973 | self.module = module |
967 | | - self.extraTests = [] |
| 974 | + self.extraTests: list[unittest.TestCase] = [] |
968 | 975 | super().__init__(**kw) |
969 | 976 |
|
970 | 977 |
|
@@ -1013,7 +1020,7 @@ class HandleFileEvent(Event): |
1013 | 1020 | _attrs = Event._attrs + ("loader", "name", "path", "pattern", "topLevelDirectory") |
1014 | 1021 |
|
1015 | 1022 | def __init__(self, loader, name, path, pattern, topLevelDirectory, **kw) -> None: |
1016 | | - self.extraTests = [] |
| 1023 | + self.extraTests: list[unittest.TestCase] = [] |
1017 | 1024 | self.path = path |
1018 | 1025 | self.loader = loader |
1019 | 1026 | self.name = name |
@@ -1105,8 +1112,8 @@ def __init__(self, loader, testCase, isTestMethod, **kw) -> None: |
1105 | 1112 | self.loader = loader |
1106 | 1113 | self.testCase = testCase |
1107 | 1114 | self.testMethodPrefix = None |
1108 | | - self.extraNames = [] |
1109 | | - self.excludedNames = [] |
| 1115 | + self.extraNames: list[str] = [] |
| 1116 | + self.excludedNames: list[str] = [] |
1110 | 1117 | self.isTestMethod = isTestMethod |
1111 | 1118 | super().__init__(**kw) |
1112 | 1119 |
|
@@ -1212,7 +1219,7 @@ class OutcomeDetailEvent(Event): |
1212 | 1219 |
|
1213 | 1220 | def __init__(self, outcomeEvent, **kw) -> None: |
1214 | 1221 | self.outcomeEvent = outcomeEvent |
1215 | | - self.extraDetail = [] |
| 1222 | + self.extraDetail: list[str] = [] |
1216 | 1223 | super().__init__(**kw) |
1217 | 1224 |
|
1218 | 1225 |
|
|
0 commit comments