Results for here-doc.test.sh

statusoshosh_.pyosh_.cc
pass 3132
ok 111
FAIL 23031
total343434
caseoshosh_.pyosh_.ccdescription
0pass FAIL FAIL Here string
detailsdetails
1pass FAIL FAIL Here string with $
detailsdetails
2pass FAIL FAIL Here redirect with explicit descriptor
detailsdetails
3pass FAIL FAIL Here doc from another input file descriptor
detailsdetails
4pass FAIL FAIL Multiple here docs with different descriptors
detailsdetails
5ok ok ok Here doc with bad var delimiter
detailsdetailsdetails
6pass pass pass Here doc with bad comsub delimiter
7pass pass FAIL Here doc and < redirect -- last one wins
details
8pass FAIL FAIL < redirect and here doc -- last one wins
detailsdetails
9pass FAIL FAIL Here doc with var sub, command sub, arith sub
detailsdetails
10pass FAIL FAIL Here doc in middle. And redirects in the middle.
detailsdetails
11pass FAIL FAIL Here doc line continuation
detailsdetails
12pass FAIL FAIL Here doc with quote expansion in terminator
detailsdetails
13pass FAIL FAIL Here doc with multiline double quoted string
detailsdetails
14pass FAIL FAIL Two here docs -- first is ignored; second ones wins!
detailsdetails
15pass pass pass Here doc with line continuation, then pipe. Syntax error.
16pass FAIL FAIL Here doc with pipe on first line
detailsdetails
17pass FAIL FAIL Here doc with pipe continued on last line
detailsdetails
18pass FAIL FAIL Here doc with builtin 'read'
detailsdetails
19pass FAIL FAIL Compound command here doc
detailsdetails
20pass FAIL FAIL Here doc in while condition and here doc in body
detailsdetails
21pass FAIL FAIL Here doc in while condition and here doc in body on multiple lines
detailsdetails
22pass FAIL FAIL Here doc in while loop split up more
detailsdetails
23pass FAIL FAIL Mixing << and <<-
detailsdetails
24pass FAIL FAIL Two compound commands with two here docs
detailsdetails
25pass FAIL FAIL Function def and execution with here doc
detailsdetails
26pass FAIL FAIL Here doc as command prefix
detailsdetails
27pass FAIL FAIL Redirect after here doc
detailsdetails
28pass FAIL FAIL here doc stripping tabs
detailsdetails
29pass FAIL FAIL Here doc within subshell with boolean
detailsdetails
30pass FAIL FAIL Here Doc in if condition
detailsdetails
31pass FAIL FAIL Nested here docs which are indented
detailsdetails
32FAIL FAIL FAIL Multiple here docs in pipeline
detailsdetailsdetails
33FAIL FAIL FAIL Multiple here docs in pipeline on multiple lines
detailsdetailsdetails
36 passed, 3 OK, 0 not implemented, 0 BUG, 63 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

osh_.py0 Here string

[osh_.py stdout] Expected u'hi\n', got ''

stdout:
stderr: 
osh_.cc0 Here string

[osh_.cc stdout] Expected u'hi\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
stderr:
Unhandled SimpleCommand
osh_.py1 Here string with $

[osh_.py stdout] Expected u'one\ntwo\n\n', got ''

stdout:
stderr: 
osh_.cc1 Here string with $

[osh_.cc stdout] Expected u'one\ntwo\n\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
stderr:
Unhandled SimpleCommand
osh_.py2 Here redirect with explicit descriptor

[osh_.py stdout] Expected 'one\n', got ''

stdout:
stderr: 
osh_.cc2 Here redirect with explicit descriptor

[osh_.cc stdout] Expected 'one\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
stderr:
Unhandled SimpleCommand
osh_.py3 Here doc from another input file descriptor

[osh_.py stdout] Expected '8: here doc on descriptor\n', got ''
[osh_.py status] Expected 0, got 1

stdout:
stderr: 
FATAL: Error reading from fd 8: [Errno 9] Bad file descriptor
osh_.cc3 Here doc from another input file descriptor

[osh_.cc stdout] Expected '8: here doc on descriptor\n', got '(cmd_value.Argv argv:[read_from_fd.py 8] arg_spids:[0 2])\n'

stdout:
(cmd_value.Argv argv:[read_from_fd.py 8] arg_spids:[0 2])
stderr:
Unhandled SimpleCommand
osh_.py4 Multiple here docs with different descriptors

[osh_.py stdout] Expected '0: fd0\n3: fd3\n', got '0: '
[osh_.py status] Expected 0, got 1

stdout:
0: 
stderr:
FATAL: Error reading from fd 3: [Errno 9] Bad file descriptor
osh_.cc4 Multiple here docs with different descriptors

[osh_.cc stdout] Expected '0: fd0\n3: fd3\n', got '(cmd_value.Argv argv:[read_from_fd.py 0 3] arg_spids:[0 2 4])\n'

stdout:
(cmd_value.Argv argv:[read_from_fd.py 0 3] arg_spids:[0 2 4])
stderr:
Unhandled SimpleCommand
osh5 Here doc with bad var delimiter

stdout:
stderr: 
  cat <<${a}
        ^~
[ stdin ]:1: Invalid here doc delimiter
osh_.py5 Here doc with bad var delimiter

stdout:
stderr: 
  cat <<${a}
        ^~
[ stdin ]:1: Invalid here doc delimiter
osh_.cc5 Here doc with bad var delimiter

stdout:
stderr: 
  cat <<${a}
        ^~
[ stdin ]:1: Invalid here doc delimiter
osh_.cc7 Here doc and < redirect -- last one wins

[osh_.cc stdout] Expected 'hello\n', got 'hello\n(cmd_value.Argv argv:[cat] arg_spids:[11])\n'

stdout:
hello
(cmd_value.Argv argv:[cat] arg_spids:[11])
stderr:
Unhandled SimpleCommand
osh_.py8 < redirect and here doc -- last one wins

[osh_.py stdout] Expected 'here\n', got ''

stdout:
stderr: 
osh_.cc8 < redirect and here doc -- last one wins

[osh_.cc stdout] Expected 'here\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
stderr:
Unhandled SimpleCommand
osh_.py9 Here doc with var sub, command sub, arith sub

[osh_.py stdout] Expected 'var: v\ncommand: hi\narith: 3\n', got ''
[osh_.py status] Expected 0, got 1
[osh_.py stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>
    status = main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1320, in _Execute
    redirects = self._EvalRedirects(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 477, in _EvalRedirects
    result.append(self._EvalRedirect(redir))
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 407, in _EvalRedirect
    val = self.word_ev.EvalWordToString(w)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString
    self._EvalWordPart(p, part_vals, quoted=False)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart
    sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub
    stdout = self.shell_ex.RunCommandSub(node)
AttributeError: 'NoneType' object has no attribute 'RunCommandSub'
osh_.cc9 Here doc with var sub, command sub, arith sub

[osh_.cc stdout] Expected 'var: v\ncommand: hi\narith: 3\n', got '(cmd_value.Argv argv:[cat] arg_spids:[3])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[3])
stderr:
Unhandled SimpleCommand
osh_.py10 Here doc in middle. And redirects in the middle.

[osh_.py stderr] Expected 'foo\nhere\nbar\n', got ''

stdout:
foo
bar
foo
bar
stderr:
osh_.cc10 Here doc in middle. And redirects in the middle.

[osh_.cc stderr] Expected 'foo\nhere\nbar\n', got 'Unhandled SimpleCommand\n'

stdout:
foo
bar
(cmd_value.Argv argv:[cat '_tmp/foo.txt' - '_tmp/bar.txt'] arg_spids:[16 24 26 28])
stderr:
Unhandled SimpleCommand
osh_.py11 Here doc line continuation

[osh_.py stdout] Expected 'one\ntwo\n', got 'two\n'

stdout:
two
stderr:
osh_.cc11 Here doc line continuation

[osh_.cc stdout] Expected 'one\ntwo\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\ntwo\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
two
stderr:
Unhandled SimpleCommand
osh_.py12 Here doc with quote expansion in terminator

[osh_.py stdout] Expected u'one\ntwo\n', got ''

stdout:
stderr: 
osh_.cc12 Here doc with quote expansion in terminator

[osh_.cc stdout] Expected u'one\ntwo\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
stderr:
Unhandled SimpleCommand
osh_.py13 Here doc with multiline double quoted string

[osh_.py stdout] Expected 'one\ntwo\nthree\n', got 'two\nthree\n'

stdout:
two
three
stderr:
osh_.cc13 Here doc with multiline double quoted string

[osh_.cc stdout] Expected 'one\ntwo\nthree\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\ntwo\nthree\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
two
three
stderr:
Unhandled SimpleCommand
osh_.py14 Two here docs -- first is ignored; second ones wins!

[osh_.py stdout] Expected 'there\n', got ''

stdout:
stderr: 
osh_.cc14 Two here docs -- first is ignored; second ones wins!

[osh_.cc stdout] Expected 'there\n', got '(cmd_value.Argv argv:[cat] arg_spids:[3])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[3])
stderr:
Unhandled SimpleCommand
osh_.py16 Here doc with pipe on first line

[osh_.py stdout] Expected '3\n2\n1\n', got ''

stdout:
stderr: 
osh_.cc16 Here doc with pipe on first line

[osh_.cc stdout] Expected '3\n2\n1\n', got ''

stdout:
stderr: 
osh_.py17 Here doc with pipe continued on last line

[osh_.py stdout] Expected '3\n2\n1\n', got ''

stdout:
stderr: 
osh_.cc17 Here doc with pipe continued on last line

[osh_.cc stdout] Expected '3\n2\n1\n', got ''

stdout:
stderr: 
osh_.py18 Here doc with builtin 'read'

[osh_.py stdout] Expected '=val1= =val2=\n', got '== ==\n'

stdout:
== ==
stderr:
osh_.cc18 Here doc with builtin 'read'

[osh_.cc stdout] Expected '=val1= =val2=\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: cpp/posix.h:94: Str *posix::read(int, int): Assertion `0' failed.
osh_.py19 Compound command here doc

[osh_.py stdout] Expected 'X 1\nX 2\nX 3\n', got ''

stdout:
stderr: 
osh_.cc19 Compound command here doc

[osh_.cc stdout] Expected 'X 1\nX 2\nX 3\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: cpp/posix.h:94: Str *posix::read(int, int): Assertion `0' failed.
osh_.py20 Here doc in while condition and here doc in body

[osh_.py stdout] Expected '1\n2\n3\n', got ''

stdout:
stderr: 
osh_.cc20 Here doc in while condition and here doc in body

[osh_.cc stdout] Expected '1\n2\n3\n', got '(cmd_value.Argv argv:[cat] arg_spids:[2])\n(cmd_value.Argv argv:[cat] arg_spids:[9])\n(cmd_value.Argv argv:[cat] arg_spids:[17])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[2])
(cmd_value.Argv argv:[cat] arg_spids:[9])
(cmd_value.Argv argv:[cat] arg_spids:[17])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py21 Here doc in while condition and here doc in body on multiple lines

[osh_.py stdout] Expected '1\n2\n3\n', got ''

stdout:
stderr: 
osh_.cc21 Here doc in while condition and here doc in body on multiple lines

[osh_.cc stdout] Expected '1\n2\n3\n', got '(cmd_value.Argv argv:[cat] arg_spids:[2])\n(cmd_value.Argv argv:[cat] arg_spids:[9])\n(cmd_value.Argv argv:[cat] arg_spids:[23])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[2])
(cmd_value.Argv argv:[cat] arg_spids:[9])
(cmd_value.Argv argv:[cat] arg_spids:[23])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py22 Here doc in while loop split up more

[osh_.py stdout] Expected '1\n2\n3\n', got ''

stdout:
stderr: 
osh_.cc22 Here doc in while loop split up more

[osh_.cc stdout] Expected '1\n2\n3\n', got '(cmd_value.Argv argv:[cat] arg_spids:[2])\n(cmd_value.Argv argv:[cat] arg_spids:[10])\n(cmd_value.Argv argv:[cat] arg_spids:[21])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[2])
(cmd_value.Argv argv:[cat] arg_spids:[10])
(cmd_value.Argv argv:[cat] arg_spids:[21])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py23 Mixing << and <<-

[osh_.py stdout] Expected u'one\n--\ntwo\n', got '--\n'

stdout:
--
stderr:
osh_.cc23 Mixing << and <<-

[osh_.cc stdout] Expected u'one\n--\ntwo\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\n--\n(cmd_value.Argv argv:[cat] arg_spids:[11])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
--
(cmd_value.Argv argv:[cat] arg_spids:[11])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py24 Two compound commands with two here docs

[osh_.py stdout] Expected u'X 1\nX 2\n==\nY 3\nY 4\n', got '==\n'

stdout:
==
stderr:
osh_.cc24 Two compound commands with two here docs

[osh_.cc stdout] Expected u'X 1\nX 2\n==\nY 3\nY 4\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: cpp/posix.h:94: Str *posix::read(int, int): Assertion `0' failed.
osh_.py25 Function def and execution with here doc

[osh_.py stdout] Expected u'before\n1\n2\nafter\n', got 'before\nafter\n'

stdout:
before
after
stderr:
osh_.cc25 Function def and execution with here doc

[osh_.cc stdout] Expected u'before\n1\n2\nafter\n', got 'before\n(cmd_value.Argv argv:[cat] arg_spids:[6])\nafter\n'

stdout:
before
(cmd_value.Argv argv:[cat] arg_spids:[6])
after
stderr:
Unhandled SimpleCommand
osh_.py26 Here doc as command prefix

[osh_.py stdout] Expected u'3\n2\n1\n', got ''

stdout:
stderr: 
osh_.cc26 Here doc as command prefix

[osh_.cc stdout] Expected u'3\n2\n1\n', got '(cmd_value.Argv argv:[tac] arg_spids:[3])\n'

stdout:
(cmd_value.Argv argv:[tac] arg_spids:[3])
stderr:
Unhandled SimpleCommand
osh_.py27 Redirect after here doc

[osh_.py stderr] Expected 'out\n', got ''

stdout:
stderr: 
osh_.cc27 Redirect after here doc

[osh_.cc stderr] Expected 'out\n', got 'Unhandled SimpleCommand\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
stderr:
Unhandled SimpleCommand
osh_.py28 here doc stripping tabs

[osh_.py stdout] Expected '1\n2\n3 # 2 tabs are both stripped\n 4 # spaces are preserved\n', got ''

stdout:
stderr: 
osh_.cc28 here doc stripping tabs

[osh_.cc stdout] Expected '1\n2\n3 # 2 tabs are both stripped\n 4 # spaces are preserved\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
stderr:
Unhandled SimpleCommand
osh_.py29 Here doc within subshell with boolean

[osh_.py stdout] Expected '0\n', got ''
[osh_.py status] Expected 0, got 1
[osh_.py stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>
    status = main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 963, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1364, in _ExecuteList
    status = self._Execute(child)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 604, in _Dispatch
    status = self._Execute(node.child)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 638, in _Dispatch
    result = self.bool_ev.EvalB(node.expr)
  File "/home/andy/git/oilshell/oil/osh/sh_expr_eval.py", line 895, in EvalB
    s1 = self._EvalCompoundWord(node.left)
  File "/home/andy/git/oilshell/oil/osh/sh_expr_eval.py", line 800, in _EvalCompoundWord
    val = self.word_ev.EvalWordToString(word, quote_kind=quote_kind)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString
    self._EvalWordPart(p, part_vals, quoted=False)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart
    sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub
    stdout = self.shell_ex.RunCommandSub(node)
AttributeError: 'NoneType' object has no attribute 'RunCommandSub'
osh_.cc29 Here doc within subshell with boolean

[osh_.cc stdout] Expected '0\n', got '1\n'

stdout:
1
stderr:
osh_.py30 Here Doc in if condition

[osh_.py stdout] Expected 'here doc in IF CONDITION\nTHEN executed\n', got 'THEN executed\n'

stdout:
THEN executed
stderr:
osh_.cc30 Here Doc in if condition

[osh_.cc stdout] Expected 'here doc in IF CONDITION\nTHEN executed\n', got '(cmd_value.Argv argv:[cat] arg_spids:[2])\nTHEN executed\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[2])
THEN executed
stderr:
Unhandled SimpleCommand
osh_.py31 Nested here docs which are indented

[osh_.py stdout] Expected 'outside\ninside\n', got ''
[osh_.py status] Expected 0, got 1
[osh_.py stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>
    status = main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1320, in _Execute
    redirects = self._EvalRedirects(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 477, in _EvalRedirects
    result.append(self._EvalRedirect(redir))
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 407, in _EvalRedirect
    val = self.word_ev.EvalWordToString(w)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString
    self._EvalWordPart(p, part_vals, quoted=False)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart
    sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub
    stdout = self.shell_ex.RunCommandSub(node)
AttributeError: 'NoneType' object has no attribute 'RunCommandSub'
osh_.cc31 Nested here docs which are indented

[osh_.cc stdout] Expected 'outside\ninside\n', got '(cmd_value.Argv argv:[cat] arg_spids:[0])\n'

stdout:
(cmd_value.Argv argv:[cat] arg_spids:[0])
stderr:
Unhandled SimpleCommand
osh32 Multiple here docs in pipeline

[osh stdout] Expected '0: 3: fd3\n5: fd5\n', got '0: 3: fd3\n'
[osh status] Expected 0, got 1

stdout:
0: 3: fd3
stderr:
FATAL: Error reading from fd 5: [Errno 9] Bad file descriptor
osh_.py32 Multiple here docs in pipeline

[osh_.py stdout] Expected '0: 3: fd3\n5: fd5\n', got ''

stdout:
stderr: 
osh_.cc32 Multiple here docs in pipeline

[osh_.cc stdout] Expected '0: 3: fd3\n5: fd5\n', got ''

stdout:
stderr: 
osh33 Multiple here docs in pipeline on multiple lines

[osh stdout] Expected '0: 3: fd3\n5: fd5\n', got '0: 3: fd3\n'
[osh status] Expected 0, got 1

stdout:
0: 3: fd3
stderr:
FATAL: Error reading from fd 5: [Errno 9] Bad file descriptor
osh_.py33 Multiple here docs in pipeline on multiple lines

[osh_.py stdout] Expected '0: 3: fd3\n5: fd5\n', got ''

stdout:
stderr: 
osh_.cc33 Multiple here docs in pipeline on multiple lines

[osh_.cc stdout] Expected '0: 3: fd3\n5: fd5\n', got ''

stdout:
stderr: