MCPcopy
hub / github.com/pytest-dev/pytest / ResultHolder

Class ResultHolder

src/_pytest/raises.py:1452–1493  ·  view source on GitHub ↗

Container for results of checking exceptions. Used in RaisesGroup._check_exceptions and possible_match.

Source from the content-addressed store, hash-verified

1450
1451
1452class ResultHolder:
1453 """Container for results of checking exceptions.
1454 Used in RaisesGroup._check_exceptions and possible_match.
1455 """
1456
1457 def __init__(
1458 self,
1459 expected_exceptions: tuple[
1460 type[BaseException] | AbstractRaises[BaseException], ...
1461 ],
1462 actual_exceptions: Sequence[BaseException],
1463 ) -> None:
1464 self.results: list[list[str | type[NotChecked] | None]] = [
1465 [NotChecked for _ in expected_exceptions] for _ in actual_exceptions
1466 ]
1467
1468 def set_result(self, expected: int, actual: int, result: str | None) -> None:
1469 self.results[actual][expected] = result
1470
1471 def get_result(self, expected: int, actual: int) -> str | None:
1472 res = self.results[actual][expected]
1473 assert res is not NotChecked
1474 return res
1475
1476 def has_result(self, expected: int, actual: int) -> bool:
1477 return self.results[actual][expected] is not NotChecked
1478
1479 def no_match_for_expected(self, expected: list[int]) -> bool:
1480 for i in expected:
1481 for actual_results in self.results:
1482 assert actual_results[i] is not NotChecked
1483 if actual_results[i] is None:
1484 return False
1485 return True
1486
1487 def no_match_for_actual(self, actual: list[int]) -> bool:
1488 for i in actual:
1489 for res in self.results[i]:
1490 assert res is not NotChecked
1491 if res is None:
1492 return False
1493 return True
1494
1495
1496def possible_match(results: ResultHolder, used: set[int] | None = None) -> bool:

Callers 1

_check_exceptionsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected