patch 7.4.1506
Problem:    Job cannot read from a file.
Solution:   Implement reading from a file for Unix.
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 5321cce..299bb2b 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -524,6 +524,31 @@
   endtry
 endfunc
 
+func Test_nl_read_file()
+  if !has('job')
+    return
+  endif
+  " TODO: make this work for MS-Windows.
+  if !has('unix')
+    return
+  endif
+  call ch_log('Test_nl_read_file()')
+  call writefile(['echo something', 'echoerr wrong', 'double this'], 'Xinput')
+  let job = job_start(s:python . " test_channel_pipe.py",
+	\ {'in-io': 'file', 'in-name': 'Xinput'})
+  call assert_equal("run", job_status(job))
+  try
+    let handle = job_getchannel(job)
+    call assert_equal("something", ch_readraw(handle))
+    call assert_equal("wrong", ch_readraw(handle, {'part': 'err'}))
+    call assert_equal("this", ch_readraw(handle))
+    call assert_equal("AND this", ch_readraw(handle))
+  finally
+    call job_stop(job)
+    call delete('Xinput')
+  endtry
+endfunc
+
 func Test_pipe_to_buffer()
   if !has('job')
     return
@@ -556,7 +581,6 @@
   if !has('job')
     return
   endif
-call ch_logfile('channellog', 'w')
   call ch_log('Test_pipe_from_buffer()')
 
   sp pipe-input
@@ -574,7 +598,6 @@
   finally
     call job_stop(job)
   endtry
-call ch_logfile('')
 endfunc
 
 func Test_pipe_to_nameless_buffer()