8
8
def f() -> str: ...
9
9
reveal_type(f()) # N: Revealed type is 'builtins.int'
10
10
[file mypy.ini]
11
- [ [mypy]
11
+ \ [mypy]
12
12
plugins=<ROOT>/test-data/unit/plugins/fnplugin.py
13
13
14
14
[case testFunctionPlugin]
15
15
# flags: --config-file tmp/mypy.ini
16
16
def f() -> str: ...
17
17
reveal_type(f()) # N: Revealed type is 'builtins.int'
18
18
[file mypy.ini]
19
- [ [mypy]
19
+ \ [mypy]
20
20
plugins=fnplugin
21
21
22
22
[case testFunctionPluginFullnameIsNotNone]
@@ -27,7 +27,7 @@ T = TypeVar('T')
27
27
def g(x: T) -> T: return x # This strips out the name of a callable
28
28
g(f)()
29
29
[file mypy.ini]
30
- [ [mypy]
30
+ \ [mypy]
31
31
plugins=<ROOT>/test-data/unit/plugins/fnplugin.py
32
32
33
33
[case testTwoPlugins]
@@ -39,7 +39,7 @@ reveal_type(f()) # N: Revealed type is 'builtins.int'
39
39
reveal_type(g()) # N: Revealed type is 'builtins.str'
40
40
reveal_type(h()) # N: Revealed type is 'Any'
41
41
[file mypy.ini]
42
- [ [mypy]
42
+ \ [mypy]
43
43
plugins=<ROOT>/test-data/unit/plugins/fnplugin.py,
44
44
<ROOT>/test-data/unit/plugins/plugin2.py
45
45
@@ -52,13 +52,13 @@ reveal_type(f()) # N: Revealed type is 'builtins.int'
52
52
reveal_type(g()) # N: Revealed type is 'builtins.str'
53
53
reveal_type(h()) # N: Revealed type is 'Any'
54
54
[file mypy.ini]
55
- [ [mypy]
55
+ \ [mypy]
56
56
plugins=<ROOT>/test-data/unit/plugins/fnplugin.py, plugin2
57
57
58
58
[case testMissingPluginFile]
59
59
# flags: --config-file tmp/mypy.ini
60
60
[file mypy.ini]
61
- [ [mypy]
61
+ \ [mypy]
62
62
plugins=missing.py
63
63
[out]
64
64
tmp/mypy.ini:2: error: Can't find plugin 'tmp/missing.py'
@@ -67,19 +67,19 @@ tmp/mypy.ini:2: error: Can't find plugin 'tmp/missing.py'
67
67
[case testMissingPlugin]
68
68
# flags: --config-file tmp/mypy.ini
69
69
[file mypy.ini]
70
- [ [mypy]
70
+ \ [mypy]
71
71
plugins=missing
72
72
[out]
73
73
tmp/mypy.ini:2: error: Error importing plugin 'missing'
74
74
75
75
[case testMultipleSectionsDefinePlugin]
76
76
# flags: --config-file tmp/mypy.ini
77
77
[file mypy.ini]
78
- [ [acme]
78
+ \ [acme]
79
79
plugins=acmeplugin
80
- [ [mypy]
80
+ \ [mypy]
81
81
plugins=missing.py
82
- [ [another]
82
+ \ [another]
83
83
plugins=another_plugin
84
84
[out]
85
85
tmp/mypy.ini:4: error: Can't find plugin 'tmp/missing.py'
@@ -88,7 +88,7 @@ tmp/mypy.ini:4: error: Can't find plugin 'tmp/missing.py'
88
88
[case testInvalidPluginExtension]
89
89
# flags: --config-file tmp/mypy.ini
90
90
[file mypy.ini]
91
- [ [mypy]
91
+ \ [mypy]
92
92
plugins=dir/badext.pyi
93
93
[file dir/badext.pyi]
94
94
[out]
@@ -97,7 +97,7 @@ tmp/mypy.ini:2: error: Plugin 'badext.pyi' does not have a .py extension
97
97
[case testMissingPluginEntryPoint]
98
98
# flags: --config-file tmp/mypy.ini
99
99
[file mypy.ini]
100
- [ [mypy]
100
+ \ [mypy]
101
101
plugins = <ROOT>/test-data/unit/plugins/noentry.py
102
102
[out]
103
103
tmp/mypy.ini:2: error: Plugin '<ROOT>/test-data/unit/plugins/noentry.py' does not define entry point function "plugin"
@@ -107,23 +107,23 @@ tmp/mypy.ini:2: error: Plugin '<ROOT>/test-data/unit/plugins/noentry.py' does no
107
107
def f() -> str: ...
108
108
reveal_type(f()) # N: Revealed type is 'builtins.int'
109
109
[file mypy.ini]
110
- [ [mypy]
110
+ \ [mypy]
111
111
plugins=<ROOT>/test-data/unit/plugins/customentry.py:register
112
112
113
113
[case testCustomPluginEntryPoint]
114
114
# flags: --config-file tmp/mypy.ini
115
115
def f() -> str: ...
116
116
reveal_type(f()) # N: Revealed type is 'builtins.int'
117
117
[file mypy.ini]
118
- [ [mypy]
118
+ \ [mypy]
119
119
plugins=customentry:register
120
120
121
121
[case testInvalidPluginEntryPointReturnValue]
122
122
# flags: --config-file tmp/mypy.ini
123
123
def f(): pass
124
124
f()
125
125
[file mypy.ini]
126
- [ [mypy]
126
+ \ [mypy]
127
127
128
128
plugins=<ROOT>/test-data/unit/plugins/badreturn.py
129
129
[out]
@@ -134,7 +134,7 @@ tmp/mypy.ini:3: error: Type object expected as the return value of "plugin"; got
134
134
def f(): pass
135
135
f()
136
136
[file mypy.ini]
137
- [ [mypy]
137
+ \ [mypy]
138
138
plugins=<ROOT>/test-data/unit/plugins/badreturn2.py
139
139
[out]
140
140
tmp/mypy.ini:2: error: Return value of "plugin" must be a subclass of "mypy.plugin.Plugin" (in <ROOT>/test-data/unit/plugins/badreturn2.py)
@@ -157,7 +157,7 @@ class Signal(Generic[T]):
157
157
158
158
class DerivedSignal(Signal[T]): ...
159
159
[file mypy.ini]
160
- [ [mypy]
160
+ \ [mypy]
161
161
plugins=<ROOT>/test-data/unit/plugins/attrhook.py
162
162
163
163
[case testAttributeHookPluginForDynamicClass]
@@ -182,7 +182,7 @@ class Magic:
182
182
class DerivedMagic(Magic): ...
183
183
184
184
[file mypy.ini]
185
- [ [mypy]
185
+ \ [mypy]
186
186
plugins=<ROOT>/test-data/unit/plugins/attrhook2.py
187
187
188
188
[case testTypeAnalyzeHookPlugin]
@@ -200,7 +200,7 @@ T = TypeVar('T', bound=Callable[..., None])
200
200
class Signal(Generic[T]):
201
201
__call__: Callable[..., None]
202
202
[file mypy.ini]
203
- [ [mypy]
203
+ \ [mypy]
204
204
plugins=<ROOT>/test-data/unit/plugins/type_anal_hook.py
205
205
[builtins fixtures/dict.pyi]
206
206
@@ -237,7 +237,7 @@ class AttrInt(Attr[int]):
237
237
pass
238
238
239
239
[file mypy.ini]
240
- [ [mypy]
240
+ \ [mypy]
241
241
plugins=<ROOT>/test-data/unit/plugins/class_callable.py
242
242
[builtins fixtures/bool.pyi]
243
243
[out]
@@ -256,7 +256,7 @@ from typing import Callable
256
256
def decorator1() -> Callable[..., Callable[..., int]]: pass
257
257
def decorator2() -> Callable[..., Callable[..., int]]: pass
258
258
[file mypy.ini]
259
- [ [mypy]
259
+ \ [mypy]
260
260
plugins=<ROOT>/test-data/unit/plugins/named_callable.py
261
261
262
262
[case testFunctionMethodContextsHasArgNames]
@@ -284,7 +284,7 @@ def func(classname: str, arg1: Any, arg2: Any) -> Any:
284
284
pass
285
285
286
286
[file mypy.ini]
287
- [ [mypy]
287
+ \ [mypy]
288
288
plugins=<ROOT>/test-data/unit/plugins/arg_names.py
289
289
[builtins fixtures/classmethod.pyi]
290
290
@@ -313,7 +313,7 @@ def func(classname: str, arg1: Any, arg2: Any) -> Any:
313
313
pass
314
314
315
315
[file mypy.ini]
316
- [ [mypy]
316
+ \ [mypy]
317
317
plugins=<ROOT>/test-data/unit/plugins/arg_names.py
318
318
[builtins fixtures/classmethod.pyi]
319
319
@@ -335,7 +335,7 @@ class Outer:
335
335
pass
336
336
337
337
[file mypy.ini]
338
- [ [mypy]
338
+ \ [mypy]
339
339
plugins=<ROOT>/test-data/unit/plugins/arg_names.py
340
340
341
341
[case testFunctionMethodContextsHasArgNamesUnfilledArguments]
@@ -358,7 +358,7 @@ def func_unfilled(classname: str, arg1: Any = None, arg2: Any = None) -> Any:
358
358
pass
359
359
360
360
[file mypy.ini]
361
- [ [mypy]
361
+ \ [mypy]
362
362
plugins=<ROOT>/test-data/unit/plugins/arg_names.py
363
363
364
364
[case testFunctionMethodContextsHasArgNamesStarExpressions]
@@ -382,7 +382,7 @@ def func_star_expr(classname: str, *args, **kwargs) -> Any:
382
382
pass
383
383
384
384
[file mypy.ini]
385
- [ [mypy]
385
+ \ [mypy]
386
386
plugins=<ROOT>/test-data/unit/plugins/arg_names.py
387
387
[builtins fixtures/dict.pyi]
388
388
@@ -406,7 +406,7 @@ class ClassChild(Base):
406
406
pass
407
407
408
408
[file mypy.ini]
409
- [ [mypy]
409
+ \ [mypy]
410
410
plugins=<ROOT>/test-data/unit/plugins/arg_names.py
411
411
[builtins fixtures/classmethod.pyi]
412
412
@@ -435,7 +435,7 @@ for x in foo:
435
435
reveal_type(x) # N: Revealed type is 'builtins.int*'
436
436
437
437
[file mypy.ini]
438
- [ [mypy]
438
+ \ [mypy]
439
439
plugins=<ROOT>/test-data/unit/plugins/method_sig_hook.py
440
440
441
441
[case testMethodSignatureHookNamesFullyQualified]
@@ -459,7 +459,7 @@ reveal_type(FullyQualifiedTestClass().instance_method()) # N: Revealed type is '
459
459
reveal_type(FullyQualifiedTestNamedTuple('')._asdict()) # N: Revealed type is 'builtins.int'
460
460
461
461
[file mypy.ini]
462
- [ [mypy]
462
+ \ [mypy]
463
463
plugins=<ROOT>/test-data/unit/plugins/fully_qualified_test_hook.py
464
464
[builtins fixtures/classmethod.pyi]
465
465
@@ -486,7 +486,7 @@ class Column(Generic[T]): ...
486
486
class Instr(Generic[T]): ...
487
487
488
488
[file mypy.ini]
489
- [ [mypy]
489
+ \ [mypy]
490
490
plugins=<ROOT>/test-data/unit/plugins/dyn_class.py
491
491
492
492
[case testDynamicClassPluginNegatives]
@@ -513,7 +513,7 @@ class Column(Generic[T]): ...
513
513
class Instr(Generic[T]): ...
514
514
515
515
[file mypy.ini]
516
- [ [mypy]
516
+ \ [mypy]
517
517
plugins=<ROOT>/test-data/unit/plugins/dyn_class.py
518
518
519
519
[case testBaseClassPluginHookWorksIncremental]
@@ -539,7 +539,7 @@ from typing import Any
539
539
def declarative_base() -> Any: ...
540
540
541
541
[file mypy.ini]
542
- [ [mypy]
542
+ \ [mypy]
543
543
python_version=3.6
544
544
plugins=<ROOT>/test-data/unit/plugins/common_api_incremental.py
545
545
[out]
@@ -556,7 +556,7 @@ class Class:
556
556
Class().method(1, *[2], **{'a': 1}) # E: [[0, 2], [4]]
557
557
[builtins fixtures/dict.pyi]
558
558
[file mypy.ini]
559
- [ [mypy]
559
+ \ [mypy]
560
560
plugins=<ROOT>/test-data/unit/plugins/arg_kinds.py
561
561
562
562
[case testArgKindsFunction]
@@ -567,7 +567,7 @@ def func(*args, **kwargs):
567
567
func(1, 2, [3, 4], *[5, 6, 7], **{'a': 1}) # E: [[0, 0, 0, 2], [4]]
568
568
[builtins fixtures/dict.pyi]
569
569
[file mypy.ini]
570
- [ [mypy]
570
+ \ [mypy]
571
571
plugins=<ROOT>/test-data/unit/plugins/arg_kinds.py
572
572
573
573
[case testHookCallableInstance]
@@ -582,7 +582,7 @@ instance = Class(3.14)
582
582
reveal_type(instance(2)) # N: Revealed type is 'builtins.float*'
583
583
584
584
[file mypy.ini]
585
- [ [mypy]
585
+ \ [mypy]
586
586
plugins=<ROOT>/test-data/unit/plugins/callable_instance.py
587
587
588
588
[case testGetMethodHooksOnUnions]
@@ -604,7 +604,7 @@ else:
604
604
605
605
[builtins fixtures/isinstancelist.pyi]
606
606
[file mypy.ini]
607
- [ [mypy]
607
+ \ [mypy]
608
608
plugins=<ROOT>/test-data/unit/plugins/union_method.py
609
609
610
610
[case testGetMethodHooksOnUnionsStrictOptional]
@@ -626,7 +626,7 @@ else:
626
626
627
627
[builtins fixtures/isinstancelist.pyi]
628
628
[file mypy.ini]
629
- [ [mypy]
629
+ \ [mypy]
630
630
plugins=<ROOT>/test-data/unit/plugins/union_method.py
631
631
632
632
[case testGetMethodHooksOnUnionsSpecial]
@@ -643,7 +643,7 @@ reveal_type(x[int()]) # N: Revealed type is 'builtins.int'
643
643
644
644
[builtins fixtures/isinstancelist.pyi]
645
645
[file mypy.ini]
646
- [ [mypy]
646
+ \ [mypy]
647
647
plugins=<ROOT>/test-data/unit/plugins/union_method.py
648
648
649
649
[case testPluginDependencies]
@@ -656,12 +656,12 @@ plugins=<ROOT>/test-data/unit/plugins/union_method.py
656
656
1 + 'lol' # E: Unsupported operand types for + ("int" and "str")
657
657
658
658
[file mypy.ini]
659
- [ [mypy]
659
+ \ [mypy]
660
660
plugins=<ROOT>/test-data/unit/plugins/depshook.py
661
661
662
662
[case testCustomizeMroTrivial]
663
663
# flags: --config-file tmp/mypy.ini
664
664
class A: pass
665
665
[file mypy.ini]
666
- [ [mypy]
666
+ \ [mypy]
667
667
plugins=<ROOT>/test-data/unit/plugins/customize_mro.py
0 commit comments