patch 7.4.1484
Problem: Channel "err-io" value "out" is not supported.
Solution: Connect stderr to stdout if wanted.
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index bc43b44..c877934 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -339,10 +339,8 @@
endfunc
func Test_raw_one_time_callback()
- call ch_logfile('channellog', 'w')
call ch_log('Test_raw_one_time_callback()')
call s:run_server('s:raw_one_time_callback')
- call ch_logfile('')
endfunc
"""""""""
@@ -420,6 +418,9 @@
call ch_sendraw(handle, "echo something\n")
call assert_equal("something", ch_readraw(handle))
+ call ch_sendraw(handle, "echoerr wrong\n")
+ call assert_equal("wrong", ch_readraw(handle, {'part': 'err'}))
+
call ch_sendraw(handle, "double this\n")
call assert_equal("this", ch_readraw(handle))
call assert_equal("AND this", ch_readraw(handle))
@@ -431,6 +432,25 @@
endtry
endfunc
+func Test_nl_err_to_out_pipe()
+ if !has('job')
+ return
+ endif
+ call ch_log('Test_nl_err_to_out_pipe()')
+ let job = job_start(s:python . " test_channel_pipe.py", {'err-io': 'out'})
+ call assert_equal("run", job_status(job))
+ try
+ let handle = job_getchannel(job)
+ call ch_sendraw(handle, "echo something\n")
+ call assert_equal("something", ch_readraw(handle))
+
+ call ch_sendraw(handle, "echoerr wrong\n")
+ call assert_equal("wrong", ch_readraw(handle))
+ finally
+ call job_stop(job)
+ endtry
+endfunc
+
func Test_pipe_to_buffer()
if !has('job')
return
diff --git a/src/testdir/test_channel_pipe.py b/src/testdir/test_channel_pipe.py
index 5994d27..2097d3e 100644
--- a/src/testdir/test_channel_pipe.py
+++ b/src/testdir/test_channel_pipe.py
@@ -18,9 +18,12 @@
print("Goodbye!")
sys.stdout.flush()
break
- if typed.startswith("echo"):
+ if typed.startswith("echo "):
print(typed[5:-1])
sys.stdout.flush()
+ if typed.startswith("echoerr"):
+ print(typed[8:-1], file=sys.stderr)
+ sys.stderr.flush()
if typed.startswith("double"):
print(typed[7:-1] + "\nAND " + typed[7:-1])
sys.stdout.flush()