MCPcopy Create free account
hub / github.com/pytest-dev/pytest / MultiCapture

Class MultiCapture

src/_pytest/capture.py:523–598  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

521
522
523class MultiCapture(Generic[AnyStr]):
524 _state = None
525 _in_suspended = False
526
527 def __init__(self, in_, out, err) -> None:
528 self.in_ = in_
529 self.out = out
530 self.err = err
531
532 def __repr__(self) -> str:
533 return "<MultiCapture out={!r} err={!r} in_={!r} _state={!r} _in_suspended={!r}>".format(
534 self.out,
535 self.err,
536 self.in_,
537 self._state,
538 self._in_suspended,
539 )
540
541 def start_capturing(self) -> None:
542 self._state = "started"
543 if self.in_:
544 self.in_.start()
545 if self.out:
546 self.out.start()
547 if self.err:
548 self.err.start()
549
550 def pop_outerr_to_orig(self) -> Tuple[AnyStr, AnyStr]:
551 """Pop current snapshot out/err capture and flush to orig streams."""
552 out, err = self.readouterr()
553 if out:
554 self.out.writeorg(out)
555 if err:
556 self.err.writeorg(err)
557 return out, err
558
559 def suspend_capturing(self, in_: bool = False) -> None:
560 self._state = "suspended"
561 if self.out:
562 self.out.suspend()
563 if self.err:
564 self.err.suspend()
565 if in_ and self.in_:
566 self.in_.suspend()
567 self._in_suspended = True
568
569 def resume_capturing(self) -> None:
570 self._state = "started"
571 if self.out:
572 self.out.resume()
573 if self.err:
574 self.err.resume()
575 if self._in_suspended:
576 self.in_.resume()
577 self._in_suspended = False
578
579 def stop_capturing(self) -> None:
580 """Stop capturing and reset capturing streams."""

Callers 2

_get_multicaptureFunction · 0.85
_startMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected