Skip to content

Commit 7fc6fda

Browse files
committed
2 parents 082a686 + 3fb929d commit 7fc6fda

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

ck/kernel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ def eout(s):
377377
sys.stderr.buffer.write(b)
378378
sys.stderr.buffer.write(b'\n')
379379
except Exception as e:
380-
sys.stderr.write(b)
380+
sys.stderr.write(s)
381381
pass
382382
else:
383383
sys.stderr.write(b)

ck/repo/module/kernel/test/test_kernel.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ def test_out(self):
2020
ck.out('test')
2121
self.assertEqual('test', sys.stdout.getvalue().strip())
2222

23+
def test_eout(self):
24+
with test_util.tmp_sys():
25+
ck.eout('test')
26+
self.assertEqual('test', sys.stderr.getvalue().strip())
27+
2328
def test_err(self):
2429
with test_util.tmp_sys():
2530
ck.err({'return': 2, 'error': 'test.'})

ck/repo/module/test/test_util.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def tmp_dir(suffix='', prefix='ck-test-', cwd=False):
7878
@contextmanager
7979
def tmp_sys(input_buf=''):
8080
"""
81-
Yields nothing, but substitutes standard input and output streams with
81+
Yields nothing, but substitutes standard input, output and error streams with
8282
StringIO streams. If 'input_buf' is given, make sure the new input stream
8383
contains it.
8484
@@ -89,20 +89,24 @@ def tmp_sys(input_buf=''):
8989
"""
9090

9191
saved_stdout = sys.stdout
92+
saved_stderr = sys.stderr
9293
saved_stdin = sys.stdin
9394
saved_exit = sys.exit
9495
try:
9596
out_stream = get_io()
97+
err_stream = get_io()
9698
in_stream = get_io(input_buf)
9799
if not hasattr(in_stream, 'encoding'):
98100
in_stream.encoding = 'utf8'
99101
sys.stdout = out_stream
102+
sys.stderr = err_stream
100103
sys.stdin = in_stream
101104
sys.exit = dummy_exit
102105

103106
yield
104107
finally:
105108
sys.stdout = saved_stdout
109+
sys.stderr = saved_stderr
106110
sys.stdin = saved_stdin
107111
sys.exit = saved_exit
108112

0 commit comments

Comments
 (0)