def _setinitialconftest(self, args): # capture output during conftest init (#issue93) from _pytest.capture import CaptureManager capman = CaptureManager() self.pluginmanager.register(capman, 'capturemanager') # will be unregistered in capture.py's unconfigure() capman.resumecapture(capman._getmethod_preoptionparse(args)) try: try: self._conftest.setinitial(args) finally: out, err = capman.suspendcapture() # logging might have got it except: sys.stdout.write(out) sys.stderr.write(err) raise
def test_juggle_capturings(self, testdir): capouter = py.io.StdCaptureFD() try: #config = testdir.parseconfig(testdir.tmpdir) capman = CaptureManager() try: capman.resumecapture("fd") pytest.raises(ValueError, 'capman.resumecapture("fd")') pytest.raises(ValueError, 'capman.resumecapture("sys")') os.write(1, "hello\n".encode('ascii')) out, err = capman.suspendcapture() assert out == "hello\n" capman.resumecapture("sys") os.write(1, "hello\n".encode('ascii')) py.builtin.print_("world", file=sys.stderr) out, err = capman.suspendcapture() assert not out assert err == "world\n" finally: capman.reset_capturings() finally: capouter.reset()
def test_capturing_basic_api(self, method): capouter = py.io.StdCaptureFD() old = sys.stdout, sys.stderr, sys.stdin try: capman = CaptureManager() # call suspend without resume or start outerr = capman.suspendcapture() outerr = capman.suspendcapture() assert outerr == ("", "") capman.resumecapture(method) print ("hello") out, err = capman.suspendcapture() if method == "no": assert old == (sys.stdout, sys.stderr, sys.stdin) else: assert out == "hello\n" capman.resumecapture(method) out, err = capman.suspendcapture() assert not out and not err capman.reset_capturings() finally: capouter.reset()
def test_capturing_basic_api(self, method): capouter = py.io.StdCaptureFD() old = sys.stdout, sys.stderr, sys.stdin try: capman = CaptureManager() # call suspend without resume or start outerr = capman.suspendcapture() outerr = capman.suspendcapture() assert outerr == ("", "") capman.resumecapture(method) print("hello") out, err = capman.suspendcapture() if method == "no": assert old == (sys.stdout, sys.stderr, sys.stdin) else: assert out == "hello\n" capman.resumecapture(method) out, err = capman.suspendcapture() assert not out and not err capman.reset_capturings() finally: capouter.reset()
def test_capturing_basic_api(self, method): capouter = StdCaptureFD() old = sys.stdout, sys.stderr, sys.stdin try: capman = CaptureManager(method) capman.init_capturings() outerr = capman.suspendcapture() assert outerr == ("", "") outerr = capman.suspendcapture() assert outerr == ("", "") print("hello") out, err = capman.suspendcapture() if method == "no": assert old == (sys.stdout, sys.stderr, sys.stdin) else: assert not out capman.resumecapture() print("hello") out, err = capman.suspendcapture() if method != "no": assert out == "hello\n" capman.reset_capturings() finally: capouter.stop_capturing()
def test_capturing_basic_api(self, method): capouter = StdCaptureFD() old = sys.stdout, sys.stderr, sys.stdin try: capman = CaptureManager(method) capman.init_capturings() outerr = capman.suspendcapture() assert outerr == ("", "") outerr = capman.suspendcapture() assert outerr == ("", "") print ("hello") out, err = capman.suspendcapture() if method == "no": assert old == (sys.stdout, sys.stderr, sys.stdin) else: assert not out capman.resumecapture() print ("hello") out, err = capman.suspendcapture() if method != "no": assert out == "hello\n" capman.reset_capturings() finally: capouter.stop_capturing()