3from contextlib
import contextmanager
5from pybind11_tests
import iostream
as m
9 from io
import StringIO
13 from cStringIO
import StringIO
15 from StringIO
import StringIO
19 from contextlib
import redirect_stdout
23 def redirect_stdout(target):
32 from contextlib
import redirect_stderr
36 def redirect_stderr(target):
44 msg =
"I've been redirected to Python, I hope!"
45 m.captured_output(msg)
46 stdout, stderr = capsys.readouterr()
50 m.captured_output_default(msg)
51 stdout, stderr = capsys.readouterr()
56 stdout, stderr = capsys.readouterr()
63 msg =
"I've been redirected to Python, I hope!"
64 msg = msg * (1024 //
len(msg) + 1)
66 m.captured_output_default(msg)
67 stdout, stderr = capsys.readouterr()
74 msg =
"" + msg * (1024 //
len(msg) + 1)
76 m.captured_output_default(msg)
77 stdout, stderr = capsys.readouterr()
84 msg =
"1" + msg * (1024 //
len(msg) + 1)
86 m.captured_output_default(msg)
87 stdout, stderr = capsys.readouterr()
94 msg =
"" + msg * (1024 //
len(msg) + 1)
96 m.captured_output_default(msg)
97 stdout, stderr = capsys.readouterr()
104 msg =
"1" + msg * (1024 //
len(msg) + 1)
106 m.captured_output_default(msg)
107 stdout, stderr = capsys.readouterr()
114 msg =
"12" + msg * (1024 //
len(msg) + 1)
116 m.captured_output_default(msg)
117 stdout, stderr = capsys.readouterr()
124 msg =
"" + msg * (1024 //
len(msg) + 1)
126 m.captured_output_default(msg)
127 stdout, stderr = capsys.readouterr()
134 msg =
"1" + msg * (1024 //
len(msg) + 1)
136 m.captured_output_default(msg)
137 stdout, stderr = capsys.readouterr()
144 msg =
"12" + msg * (1024 //
len(msg) + 1)
146 m.captured_output_default(msg)
147 stdout, stderr = capsys.readouterr()
154 msg =
"123" + msg * (1024 //
len(msg) + 1)
156 m.captured_output_default(msg)
157 stdout, stderr = capsys.readouterr()
163 msg =
"I've been redirected to Python, I hope!"
165 stdout, stderr = capsys.readouterr()
172 m.captured_output(
"a")
173 m.captured_output(
"b")
174 assert capture ==
"ab"
178 msg =
"(not flushed)"
181 with m.ostream_redirect():
182 m.noisy_function(msg, flush=
False)
183 stdout, stderr = capfd.readouterr()
186 m.noisy_function(msg2, flush=
True)
187 stdout, stderr = capfd.readouterr()
188 assert stdout == msg + msg2
190 m.noisy_function(msg, flush=
False)
192 stdout, stderr = capfd.readouterr()
197 msg =
"Something that should not show up in log"
199 with redirect_stdout(stream):
201 stdout, stderr = capfd.readouterr()
204 assert stream.getvalue() ==
""
207 with redirect_stdout(stream):
208 m.captured_output(msg)
209 stdout, stderr = capfd.readouterr()
212 assert stream.getvalue() == msg
216 msg =
"Something that should not show up in log"
218 with redirect_stderr(stream):
220 stdout, stderr = capfd.readouterr()
223 assert stream.getvalue() ==
""
226 with redirect_stderr(stream):
228 stdout, stderr = capfd.readouterr()
231 assert stream.getvalue() == msg
236 with redirect_stdout(stream):
237 m.captured_output(
"a")
239 m.captured_output(
"c")
241 stdout, stderr = capfd.readouterr()
242 assert stdout ==
"bd"
243 assert stream.getvalue() ==
"ac"
247 m.captured_dual(
"a",
"b")
248 stdout, stderr = capsys.readouterr()
254 msg =
"Should not be in log!"
256 with redirect_stdout(stream):
258 stdout, stderr = capfd.readouterr()
260 assert stream.getvalue() ==
""
263 with redirect_stdout(stream):
264 with m.ostream_redirect():
266 stdout, stderr = capfd.readouterr()
268 assert stream.getvalue() == msg
271 with redirect_stdout(stream):
273 stdout, stderr = capfd.readouterr()
275 assert stream.getvalue() ==
""
283 with redirect_stderr(stream):
284 with m.ostream_redirect(stdout=
False):
287 stdout, stderr = capfd.readouterr()
290 assert stream.getvalue() == msg2
299 with redirect_stdout(stream):
300 with redirect_stderr(stream2):
301 with m.ostream_redirect():
304 stdout, stderr = capfd.readouterr()
307 assert stream.getvalue() == msg
308 assert stream2.getvalue() == msg2
312 with m.ostream_redirect(stdout=
True, stderr=
False):
318 threads.append(m.TestThread())
size_t len(handle h)
Get the length of a Python object.
def test_series_captured(capture)
def test_captured_utf8_4byte_offset1(capsys)
def test_captured_utf8_2byte_offset1(capsys)
def test_multi_captured(capfd)
def test_captured_utf8_2byte_offset0(capsys)
def test_captured_utf8_4byte_offset3(capsys)
def test_guard_capture(capsys)
def test_captured_large_string(capsys)
def test_captured_utf8_3byte_offset1(capsys)
def test_not_captured(capfd)
def test_redirect_err(capfd)
def test_captured_utf8_3byte_offset2(capsys)
def test_captured(capsys)
def test_captured_utf8_4byte_offset2(capsys)
def test_redirect_both(capfd)
def test_captured_utf8_4byte_offset0(capsys)
def test_captured_utf8_3byte_offset0(capsys)