Skip to content

Commit 7d306e9

Browse files
committed
reports: BaseReport.{passed,failed,skipped} more friendly to mypy
Not smart enough to understand the previous code.
1 parent 5f11a35 commit 7d306e9

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

src/_pytest/reports.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ class BaseReport:
6565
]
6666
sections: List[Tuple[str, str]]
6767
nodeid: str
68+
outcome: "Literal['passed', 'failed', 'skipped']"
6869

6970
def __init__(self, **kw: Any) -> None:
7071
self.__dict__.update(kw)
@@ -141,9 +142,17 @@ def capstderr(self) -> str:
141142
content for (prefix, content) in self.get_sections("Captured stderr")
142143
)
143144

144-
passed = property(lambda x: x.outcome == "passed")
145-
failed = property(lambda x: x.outcome == "failed")
146-
skipped = property(lambda x: x.outcome == "skipped")
145+
@property
146+
def passed(self) -> bool:
147+
return self.outcome == "passed"
148+
149+
@property
150+
def failed(self) -> bool:
151+
return self.outcome == "failed"
152+
153+
@property
154+
def skipped(self) -> bool:
155+
return self.outcome == "skipped"
147156

148157
@property
149158
def fspath(self) -> str:
@@ -348,7 +357,7 @@ class CollectReport(BaseReport):
348357
def __init__(
349358
self,
350359
nodeid: str,
351-
outcome: "Literal['passed', 'skipped', 'failed']",
360+
outcome: "Literal['passed', 'failed', 'skipped']",
352361
longrepr,
353362
result: Optional[List[Union[Item, Collector]]],
354363
sections: Iterable[Tuple[str, str]] = (),

testing/test_terminal.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2230,19 +2230,19 @@ class X:
22302230

22312231
ev1 = cast(CollectReport, X())
22322232
ev1.when = "execute"
2233-
ev1.skipped = True
2233+
ev1.skipped = True # type: ignore[misc]
22342234
ev1.longrepr = longrepr
22352235

22362236
ev2 = cast(CollectReport, X())
22372237
ev2.when = "execute"
22382238
ev2.longrepr = longrepr
2239-
ev2.skipped = True
2239+
ev2.skipped = True # type: ignore[misc]
22402240

22412241
# ev3 might be a collection report
22422242
ev3 = cast(CollectReport, X())
22432243
ev3.when = "collect"
22442244
ev3.longrepr = longrepr
2245-
ev3.skipped = True
2245+
ev3.skipped = True # type: ignore[misc]
22462246

22472247
values = _folded_skips(Path.cwd(), [ev1, ev2, ev3])
22482248
assert len(values) == 1

0 commit comments

Comments
 (0)