2 from pybind11_tests
import iostream
as m
5 from contextlib
import contextmanager
9 from io
import StringIO
13 from cStringIO
import StringIO
15 from StringIO
import StringIO
19 from contextlib
import redirect_stdout
32 from contextlib
import redirect_stderr
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()
73 msg =
"I've been redirected to Python, I hope!"
75 stdout, stderr = capsys.readouterr()
82 m.captured_output(
"a")
83 m.captured_output(
"b")
84 assert capture ==
"ab"
91 with m.ostream_redirect():
92 m.noisy_function(msg, flush=
False)
93 stdout, stderr = capfd.readouterr()
96 m.noisy_function(msg2, flush=
True)
97 stdout, stderr = capfd.readouterr()
98 assert stdout == msg + msg2
100 m.noisy_function(msg, flush=
False)
102 stdout, stderr = capfd.readouterr()
107 msg =
"Something that should not show up in log"
111 stdout, stderr = capfd.readouterr()
114 assert stream.getvalue() ==
""
118 m.captured_output(msg)
119 stdout, stderr = capfd.readouterr()
122 assert stream.getvalue() == msg
126 msg =
"Something that should not show up in log"
130 stdout, stderr = capfd.readouterr()
133 assert stream.getvalue() ==
""
138 stdout, stderr = capfd.readouterr()
141 assert stream.getvalue() == msg
147 m.captured_output(
"a")
149 m.captured_output(
"c")
151 stdout, stderr = capfd.readouterr()
152 assert stdout ==
"bd"
153 assert stream.getvalue() ==
"ac"
157 m.captured_dual(
"a",
"b")
158 stdout, stderr = capsys.readouterr()
164 msg =
"Should not be in log!"
168 stdout, stderr = capfd.readouterr()
170 assert stream.getvalue() ==
""
174 with m.ostream_redirect():
176 stdout, stderr = capfd.readouterr()
178 assert stream.getvalue() == msg
183 stdout, stderr = capfd.readouterr()
185 assert stream.getvalue() ==
""
194 with m.ostream_redirect(stdout=
False):
197 stdout, stderr = capfd.readouterr()
200 assert stream.getvalue() == msg2
211 with m.ostream_redirect():
214 stdout, stderr = capfd.readouterr()
217 assert stream.getvalue() == msg
218 assert stream2.getvalue() == msg2
222 with m.ostream_redirect(stdout=
True, stderr=
False):
228 threads.append(m.TestThread())