Skip to content

Commit 16b936c

Browse files
authored
Rename attrs tests (#15124)
- the library is named "attrs", not "attr"[^1] - "attrs" could mean a test of Python attributes, so adding "plugin" [^1]: at some point we'd also need to change tests to use `attrs.define` and `attrs.fields` in all but tests meant to exercise the "old API"
1 parent 6b326d5 commit 16b936c

File tree

7 files changed

+46
-46
lines changed

7 files changed

+46
-46
lines changed

test-data/unit/check-classes.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ main:7: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incom
387387
[case testEqMethodsOverridingWithNonObjects]
388388
class A:
389389
def __eq__(self, other: A) -> bool: pass # Fail
390-
[builtins fixtures/attr.pyi]
390+
[builtins fixtures/plugin_attrs.pyi]
391391
[out]
392392
main:2: error: Argument 1 of "__eq__" is incompatible with supertype "object"; supertype defines the argument type as "object"
393393
main:2: note: This violates the Liskov substitution principle

test-data/unit/check-flags.test

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1311,7 +1311,7 @@ import attr
13111311
class Unannotated:
13121312
foo = attr.ib()
13131313

1314-
[builtins fixtures/attr.pyi]
1314+
[builtins fixtures/plugin_attrs.pyi]
13151315

13161316
[case testDisallowIncompleteDefsAttrsWithAnnotations]
13171317
# flags: --disallow-incomplete-defs
@@ -1321,7 +1321,7 @@ import attr
13211321
class Annotated:
13221322
bar: int = attr.ib()
13231323

1324-
[builtins fixtures/attr.pyi]
1324+
[builtins fixtures/plugin_attrs.pyi]
13251325

13261326
[case testDisallowIncompleteDefsAttrsPartialAnnotations]
13271327
# flags: --disallow-incomplete-defs
@@ -1332,7 +1332,7 @@ class PartiallyAnnotated: # E: Function is missing a type annotation for one or
13321332
bar: int = attr.ib()
13331333
baz = attr.ib()
13341334

1335-
[builtins fixtures/attr.pyi]
1335+
[builtins fixtures/plugin_attrs.pyi]
13361336

13371337
[case testAlwaysTrueAlwaysFalseFlags]
13381338
# flags: --always-true=YOLO --always-true=YOLO1 --always-false=BLAH1 --always-false BLAH --ignore-missing-imports

test-data/unit/check-incremental.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3069,7 +3069,7 @@ from attr import attrib, attrs
30693069
class A:
30703070
a: int
30713071

3072-
[builtins fixtures/attr.pyi]
3072+
[builtins fixtures/plugin_attrs.pyi]
30733073
[rechecked]
30743074
[stale]
30753075
[out2]
@@ -3410,7 +3410,7 @@ class C:
34103410
b: int = attr.ib(converter=int)
34113411
c: A = attr.ib(converter=A)
34123412
d: int = attr.ib(converter=parse)
3413-
[builtins fixtures/attr.pyi]
3413+
[builtins fixtures/plugin_attrs.pyi]
34143414
[out1]
34153415
main:6: note: Revealed type is "def (a: Union[builtins.float, builtins.str], b: Union[builtins.str, builtins.bytes, builtins.int], c: builtins.str, d: Union[builtins.int, builtins.str]) -> a.C"
34163416
main:10: note: Revealed type is "def (a: Union[builtins.float, builtins.str], b: Union[builtins.str, builtins.bytes, builtins.int], c: builtins.str, d: Union[builtins.int, builtins.str], x: builtins.str) -> __main__.D"

test-data/unit/check-attr.test renamed to test-data/unit/check-plugin-attrs.test

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ A(1) != 1
210210
1 >= A(1) # E: Unsupported operand types for <= ("A" and "int")
211211
1 == A(1)
212212
1 != A(1)
213-
[builtins fixtures/attr.pyi]
213+
[builtins fixtures/plugin_attrs.pyi]
214214

215215
[case testAttrsEqFalse]
216216
from attr import attrib, attrs
@@ -241,7 +241,7 @@ A(1) != 1
241241
1 >= A(1) # E: Unsupported left operand type for >= ("int")
242242
1 == A(1)
243243
1 != A(1)
244-
[builtins fixtures/attr.pyi]
244+
[builtins fixtures/plugin_attrs.pyi]
245245

246246
[case testAttrsOrderFalse]
247247
from attr import attrib, attrs
@@ -270,7 +270,7 @@ A(1) != 1
270270
1 >= A(1) # E: Unsupported left operand type for >= ("int")
271271
1 == A(1)
272272
1 != A(1)
273-
[builtins fixtures/attr.pyi]
273+
[builtins fixtures/plugin_attrs.pyi]
274274

275275
[case testAttrsCmpEqOrderValues]
276276
from attr import attrib, attrs
@@ -289,7 +289,7 @@ class Mixed:
289289
@attrs(order=True, eq=False) # E: eq must be True if order is True
290290
class Confused:
291291
...
292-
[builtins fixtures/attr.pyi]
292+
[builtins fixtures/plugin_attrs.pyi]
293293

294294

295295
[case testAttrsInheritance]
@@ -969,7 +969,7 @@ class C:
969969

970970
o = C("1", "2", "3")
971971
o = C(1, 2, "3")
972-
[builtins fixtures/attr.pyi]
972+
[builtins fixtures/plugin_attrs.pyi]
973973

974974
[case testAttrsCmpWithSubclasses]
975975
import attr
@@ -1208,7 +1208,7 @@ class A:
12081208

12091209
A(None, None)
12101210

1211-
[builtins fixtures/attr.pyi]
1211+
[builtins fixtures/plugin_attrs.pyi]
12121212

12131213
[case testAttrsOptionalConverterNewPackage]
12141214
# flags: --strict-optional
@@ -1228,7 +1228,7 @@ class A:
12281228

12291229
A(None, None)
12301230

1231-
[builtins fixtures/attr.pyi]
1231+
[builtins fixtures/plugin_attrs.pyi]
12321232

12331233

12341234
[case testAttrsTypeVarNoCollision]
@@ -1241,7 +1241,7 @@ T = TypeVar("T", bytes, str)
12411241
@attr.s(auto_attribs=True)
12421242
class A(Generic[T]):
12431243
v: T
1244-
[builtins fixtures/attr.pyi]
1244+
[builtins fixtures/plugin_attrs.pyi]
12451245

12461246
[case testAttrsKwOnlyAttrib]
12471247
import attr
@@ -1251,7 +1251,7 @@ class A:
12511251
A() # E: Missing named argument "a" for "A"
12521252
A(15) # E: Too many positional arguments for "A"
12531253
A(a=15)
1254-
[builtins fixtures/attr.pyi]
1254+
[builtins fixtures/plugin_attrs.pyi]
12551255

12561256
[case testAttrsKwOnlyClass]
12571257
import attr
@@ -1261,7 +1261,7 @@ class A:
12611261
b: bool
12621262
A() # E: Missing named argument "a" for "A" # E: Missing named argument "b" for "A"
12631263
A(b=True, a=15)
1264-
[builtins fixtures/attr.pyi]
1264+
[builtins fixtures/plugin_attrs.pyi]
12651265

12661266
[case testAttrsKwOnlyClassNoInit]
12671267
import attr
@@ -1270,7 +1270,7 @@ class B:
12701270
a = attr.ib(init=False)
12711271
b = attr.ib()
12721272
B(b=True)
1273-
[builtins fixtures/attr.pyi]
1273+
[builtins fixtures/plugin_attrs.pyi]
12741274

12751275
[case testAttrsKwOnlyWithDefault]
12761276
import attr
@@ -1280,7 +1280,7 @@ class C:
12801280
b = attr.ib(kw_only=True)
12811281
c = attr.ib(16, kw_only=True)
12821282
C(b=17)
1283-
[builtins fixtures/attr.pyi]
1283+
[builtins fixtures/plugin_attrs.pyi]
12841284

12851285
[case testAttrsKwOnlyClassWithMixedDefaults]
12861286
import attr
@@ -1290,7 +1290,7 @@ class D:
12901290
b = attr.ib()
12911291
c = attr.ib(15)
12921292
D(b=17)
1293-
[builtins fixtures/attr.pyi]
1293+
[builtins fixtures/plugin_attrs.pyi]
12941294

12951295

12961296
[case testAttrsKwOnlySubclass]
@@ -1302,7 +1302,7 @@ class A2:
13021302
class B2(A2):
13031303
b = attr.ib(kw_only=True)
13041304
B2(b=1)
1305-
[builtins fixtures/attr.pyi]
1305+
[builtins fixtures/plugin_attrs.pyi]
13061306

13071307
[case testAttrsNonKwOnlyAfterKwOnly]
13081308
import attr
@@ -1317,7 +1317,7 @@ class C:
13171317
a = attr.ib(kw_only=True)
13181318
b = attr.ib(15)
13191319

1320-
[builtins fixtures/attr.pyi]
1320+
[builtins fixtures/plugin_attrs.pyi]
13211321

13221322
[case testAttrsDisallowUntypedWorksForward]
13231323
# flags: --disallow-untyped-defs
@@ -1491,7 +1491,7 @@ reveal_type(A.__attrs_attrs__[0]) # N: Revealed type is "attr.Attribute[builtin
14911491
reveal_type(A.__attrs_attrs__.b) # N: Revealed type is "attr.Attribute[builtins.int]"
14921492
A.__attrs_attrs__.x # E: "____main___A_AttrsAttributes__" has no attribute "x"
14931493

1494-
[builtins fixtures/attr.pyi]
1494+
[builtins fixtures/plugin_attrs.pyi]
14951495

14961496
[case testAttrsBareClassHasMagicAttribute]
14971497
import attr
@@ -1506,7 +1506,7 @@ reveal_type(A.__attrs_attrs__[0]) # N: Revealed type is "attr.Attribute[Any]"
15061506
reveal_type(A.__attrs_attrs__.b) # N: Revealed type is "attr.Attribute[Any]"
15071507
A.__attrs_attrs__.x # E: "____main___A_AttrsAttributes__" has no attribute "x"
15081508

1509-
[builtins fixtures/attr.pyi]
1509+
[builtins fixtures/plugin_attrs.pyi]
15101510

15111511
[case testAttrsNGClassHasMagicAttribute]
15121512
import attr
@@ -1521,7 +1521,7 @@ reveal_type(A.__attrs_attrs__[0]) # N: Revealed type is "attr.Attribute[builtin
15211521
reveal_type(A.__attrs_attrs__.b) # N: Revealed type is "attr.Attribute[builtins.int]"
15221522
A.__attrs_attrs__.x # E: "____main___A_AttrsAttributes__" has no attribute "x"
15231523

1524-
[builtins fixtures/attr.pyi]
1524+
[builtins fixtures/plugin_attrs.pyi]
15251525

15261526
[case testAttrsMagicAttributeProtocol]
15271527
import attr
@@ -1546,7 +1546,7 @@ takes_attrs_instance(A(1, ""))
15461546

15471547
takes_attrs_cls(A(1, "")) # E: Argument 1 to "takes_attrs_cls" has incompatible type "A"; expected "Type[AttrsInstance]"
15481548
takes_attrs_instance(A) # E: Argument 1 to "takes_attrs_instance" has incompatible type "Type[A]"; expected "AttrsInstance" # N: ClassVar protocol member AttrsInstance.__attrs_attrs__ can never be matched by a class object
1549-
[builtins fixtures/attr.pyi]
1549+
[builtins fixtures/plugin_attrs.pyi]
15501550

15511551
[case testAttrsInitMethodAlwaysGenerates]
15521552
from typing import Tuple
@@ -1564,7 +1564,7 @@ reveal_type(A) # N: Revealed type is "def (bc: Tuple[builtins.int, builtins.str
15641564
reveal_type(A.__init__) # N: Revealed type is "def (self: __main__.A, bc: Tuple[builtins.int, builtins.str])"
15651565
reveal_type(A.__attrs_init__) # N: Revealed type is "def (self: __main__.A, b: builtins.int, c: builtins.str)"
15661566

1567-
[builtins fixtures/attr.pyi]
1567+
[builtins fixtures/plugin_attrs.pyi]
15681568

15691569
[case testAttrsClassWithSlots]
15701570
import attr
@@ -1594,7 +1594,7 @@ class C:
15941594
def __attrs_post_init__(self) -> None:
15951595
self.b = 1 # E: Trying to assign name "b" that is not in "__slots__" of type "__main__.C"
15961596
self.c = 2 # E: Trying to assign name "c" that is not in "__slots__" of type "__main__.C"
1597-
[builtins fixtures/attr.pyi]
1597+
[builtins fixtures/plugin_attrs.pyi]
15981598

15991599
[case testAttrsWithMatchArgs]
16001600
# flags: --python-version 3.10
@@ -1610,7 +1610,7 @@ class ToMatch:
16101610

16111611
reveal_type(ToMatch(x=1, y=2, z=3).__match_args__) # N: Revealed type is "Tuple[Literal['x']?, Literal['y']?]"
16121612
reveal_type(ToMatch(1, 2, z=3).__match_args__) # N: Revealed type is "Tuple[Literal['x']?, Literal['y']?]"
1613-
[builtins fixtures/attr.pyi]
1613+
[builtins fixtures/plugin_attrs.pyi]
16141614

16151615
[case testAttrsWithMatchArgsDefaultCase]
16161616
# flags: --python-version 3.10
@@ -1631,7 +1631,7 @@ class ToMatch2:
16311631

16321632
t2: ToMatch2
16331633
reveal_type(t2.__match_args__) # N: Revealed type is "Tuple[Literal['x']?, Literal['y']?]"
1634-
[builtins fixtures/attr.pyi]
1634+
[builtins fixtures/plugin_attrs.pyi]
16351635

16361636
[case testAttrsWithMatchArgsOverrideExisting]
16371637
# flags: --python-version 3.10
@@ -1654,7 +1654,7 @@ class WithoutMatch:
16541654
y: int
16551655

16561656
reveal_type(WithoutMatch(x=1, y=2).__match_args__) # N: Revealed type is "Tuple[Literal['a']?, Literal['b']?]"
1657-
[builtins fixtures/attr.pyi]
1657+
[builtins fixtures/plugin_attrs.pyi]
16581658

16591659
[case testAttrsWithMatchArgsOldVersion]
16601660
# flags: --python-version 3.9
@@ -1668,7 +1668,7 @@ n: NoMatchArgs
16681668

16691669
reveal_type(n.__match_args__) # E: "NoMatchArgs" has no attribute "__match_args__" \
16701670
# N: Revealed type is "Any"
1671-
[builtins fixtures/attr.pyi]
1671+
[builtins fixtures/plugin_attrs.pyi]
16721672

16731673
[case testAttrsMultipleInheritance]
16741674
# flags: --python-version 3.10
@@ -1684,7 +1684,7 @@ class B:
16841684

16851685
class AB(A, B):
16861686
pass
1687-
[builtins fixtures/attr.pyi]
1687+
[builtins fixtures/plugin_attrs.pyi]
16881688

16891689
[case testAttrsForwardReferenceInTypeVarBound]
16901690
from typing import TypeVar, Generic
@@ -1698,7 +1698,7 @@ class D(Generic[T]):
16981698

16991699
class C:
17001700
pass
1701-
[builtins fixtures/attr.pyi]
1701+
[builtins fixtures/plugin_attrs.pyi]
17021702

17031703
[case testComplexTypeInAttrIb]
17041704
import a
@@ -1953,7 +1953,7 @@ def f() -> C:
19531953

19541954
c = attr.evolve(f(), name='foo')
19551955

1956-
[builtins fixtures/attr.pyi]
1956+
[builtins fixtures/plugin_attrs.pyi]
19571957

19581958
[case testEvolveFromNonAttrs]
19591959
import attr
@@ -1988,7 +1988,7 @@ reveal_type(a2) # N: Revealed type is "__main__.A[builtins.int]"
19881988
a2 = attrs.evolve(a, x='42') # E: Argument "x" to "evolve" of "A[int]" has incompatible type "str"; expected "int"
19891989
reveal_type(a2) # N: Revealed type is "__main__.A[builtins.int]"
19901990

1991-
[builtins fixtures/attr.pyi]
1991+
[builtins fixtures/plugin_attrs.pyi]
19921992

19931993
[case testEvolveUnion]
19941994
# flags: --python-version 3.10
@@ -2018,7 +2018,7 @@ a2 = attrs.evolve(a_or_b, x=42, y=True)
20182018
a2 = attrs.evolve(a_or_b, x=42, y=True, z='42') # E: Argument "z" to "evolve" of "Union[A[int], B]" has incompatible type "str"; expected <nothing>
20192019
a2 = attrs.evolve(a_or_b, x=42, y=True, w={}) # E: Argument "w" to "evolve" of "Union[A[int], B]" has incompatible type "Dict[<nothing>, <nothing>]"; expected <nothing>
20202020

2021-
[builtins fixtures/attr.pyi]
2021+
[builtins fixtures/plugin_attrs.pyi]
20222022

20232023
[case testEvolveUnionOfTypeVar]
20242024
# flags: --python-version 3.10
@@ -2043,7 +2043,7 @@ def f(b_or_t: TA | TB | int) -> None:
20432043
a2 = attrs.evolve(b_or_t) # E: Argument 1 to "evolve" has type "Union[TA, TB, int]" whose item "TB" is not bound to an attrs class # E: Argument 1 to "evolve" has incompatible type "Union[TA, TB, int]" whose item "int" is not an attrs class
20442044

20452045

2046-
[builtins fixtures/attr.pyi]
2046+
[builtins fixtures/plugin_attrs.pyi]
20472047

20482048
[case testEvolveTypeVarBound]
20492049
import attrs
@@ -2068,7 +2068,7 @@ def f(t: TA) -> TA:
20682068
f(A(x=42))
20692069
f(B(x=42))
20702070

2071-
[builtins fixtures/attr.pyi]
2071+
[builtins fixtures/plugin_attrs.pyi]
20722072

20732073
[case testEvolveTypeVarBoundNonAttrs]
20742074
import attrs
@@ -2091,7 +2091,7 @@ def h(t: TNone) -> None:
20912091
def x(t: TUnion) -> None:
20922092
_ = attrs.evolve(t, x=42) # E: Argument 1 to "evolve" has incompatible type "TUnion" whose item "str" is not an attrs class # E: Argument 1 to "evolve" has incompatible type "TUnion" whose item "int" is not an attrs class
20932093

2094-
[builtins fixtures/attr.pyi]
2094+
[builtins fixtures/plugin_attrs.pyi]
20952095

20962096
[case testEvolveTypeVarConstrained]
20972097
import attrs
@@ -2116,7 +2116,7 @@ def f(t: T) -> T:
21162116
f(A(x=42))
21172117
f(B(x='42'))
21182118

2119-
[builtins fixtures/attr.pyi]
2119+
[builtins fixtures/plugin_attrs.pyi]
21202120

21212121
[case testEvolveVariants]
21222122
from typing import Any
@@ -2139,5 +2139,5 @@ c = attrs.evolve(c, name=42) # E: Argument "name" to "evolve" of "C" has incomp
21392139
c = attrs.assoc(c, name='test')
21402140
c = attrs.assoc(c, name=42) # E: Argument "name" to "assoc" of "C" has incompatible type "int"; expected "str"
21412141

2142-
[builtins fixtures/attr.pyi]
2142+
[builtins fixtures/plugin_attrs.pyi]
21432143
[typing fixtures/typing-medium.pyi]

test-data/unit/fine-grained-attr.test

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ from attr import define
1717
@define
1818
class A:
1919
a: float
20-
[builtins fixtures/attr.pyi]
20+
[builtins fixtures/plugin_attrs.pyi]
2121
[out]
2222
==
2323
main:5: error: Incompatible return value type (got "Attribute[float]", expected "Attribute[int]")
@@ -32,7 +32,7 @@ from attr import define
3232
class A:
3333
a: float
3434
b: int
35-
[builtins fixtures/attr.pyi]
35+
[builtins fixtures/plugin_attrs.pyi]
3636

3737
[file m.py]
3838
from c import A
@@ -54,7 +54,7 @@ import attr
5454
@attr.s
5555
class Entry:
5656
var: int = attr.ib()
57-
[builtins fixtures/attr.pyi]
57+
[builtins fixtures/plugin_attrs.pyi]
5858

5959
[file m.py]
6060
from typing import Any, ClassVar, Protocol

0 commit comments

Comments
 (0)