Results for here-doc.test.sh

casedashbashmkshoshdescription
1pass pass pass FAIL Here doc from another input file descriptor
details
2pass pass pass FAIL Multiple here docs with different descriptors
details
3pass pass pass FAIL Here doc with bad var delimiter
details
4pass BUG ok FAIL Here doc with bad comsub delimiter
detailsdetailsdetails
5pass pass pass FAIL Here doc and < redirect -- last one wins
details
6pass pass pass pass < redirect and here doc -- last one wins
7pass pass pass pass Here doc with var sub, command sub, arith sub
8pass pass pass FAIL Here doc in middle. And redirects in the middle.
details
9pass pass pass pass Here doc line continuation
10pass pass pass pass Here doc with quote expansion in terminator
11pass pass pass pass Here doc with multiline double quoted string
12pass pass pass pass Two here docs -- first is ignored; second ones wins!
13pass pass ok pass Here doc with line continuation, then pipe. Syntax error.
details
14pass pass pass pass Here doc with pipe on first line
15pass pass pass pass Here doc with pipe continued on last line
16pass pass pass FAIL Here doc with builtin 'read'
details
17pass pass pass FAIL Compound command here doc
details
18pass pass pass pass Here doc in while condition and here doc in body
19pass pass pass pass Here doc in while condition and here doc in body on multiple lines
20pass pass pass pass Here doc in while loop split up more
21pass pass pass pass Mixing << and <<-
22pass pass pass FAIL Two compound commands with two here docs
details
23pass pass pass FAIL Function def and execution with here doc
details
24pass pass pass pass Here doc as command prefix
25pass pass pass pass Redirect after here doc
26pass pass pass pass here doc stripping tabs
27N-I pass pass pass Here doc within subshell with boolean
details

94 passed, 2 ok, 1 known unimplemented, 1 known bugs, 10 failed, 3 skipped

Details on runs that didn't PASS

osh1 Here doc from another input file descriptor

[osh stdout] Expected b'5: fd5\n', got b''

stdout:
stderr: 
FATAL: Error reading from fd 5: [Errno 9] Bad file descriptor
osh2 Multiple here docs with different descriptors

[osh stdout] Expected b'0: fd0\n3: fd3\n', got b'0: fd3\n'

stdout:
0: fd3
stderr:
FATAL: Error reading from fd 3: [Errno 9] Bad file descriptor
osh3 Here doc with bad var delimiter

[osh stdout] Expected b'here\n', got b"<core.base.ParseError object at 0x7fe2f1e18f98>\nLine 1 of '<stdin>'\n cat <<${a}\n ^~\n---\n<core.base.ParseError object at 0x7fe2f1e18e10>\nLine 0 of '<unknown>'\n <token had no position info>\nNO COL\n---\n"

stdout:
<core.base.ParseError object at 0x7fe2f1e18f98>
Line 1 of '<stdin>'
  cat <<${a}
        ^~
---
<core.base.ParseError object at 0x7fe2f1e18e10>
Line 0 of '<unknown>'
  <token had no position info>
NO COL
---
stderr:
Error evaluating here doc delimiter: (CompoundWord parts:[(BracedVarSub token:(token id:VSub_Name val:a span_id:4) spids:[35])])
Error parsing AndOr in ParseCommandTerm
bash4 Here doc with bad comsub delimiter

stdout:
here
stderr:
mksh4 Here doc with bad comsub delimiter

stdout:
stderr: 
/bin/mksh: <stdin>[1]: syntax error: '(' unexpected
osh4 Here doc with bad comsub delimiter

[osh stdout] Expected b'', got b"<core.base.ParseError object at 0x7f3df1465f98>\nLine 1 of '<stdin>'\n cat <<$(a)\n ^~\n---\n<core.base.ParseError object at 0x7f3df1465e10>\nLine 0 of '<unknown>'\n <token had no position info>\nNO COL\n---\n"

stdout:
<core.base.ParseError object at 0x7f3df1465f98>
Line 1 of '<stdin>'
  cat <<$(a)
        ^~
---
<core.base.ParseError object at 0x7f3df1465e10>
Line 0 of '<unknown>'
  <token had no position info>
NO COL
---
stderr:
Error evaluating here doc delimiter: (CompoundWord
  parts: [
    (CommandSubPart
      command_list: 
        (SimpleCommand
          words: [(CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:a span_id:4))])]
        )
      spids: [3 5]
    )
  ]
)
Error parsing AndOr in ParseCommandTerm
osh5 Here doc and < redirect -- last one wins

[osh stdout] Expected b'hello\n', got b''

stdout:
stderr: 
osh8 Here doc in middle. And redirects in the middle.

[osh stderr] Expected b'foo\nhere\nbar\n', got b'Traceback (most recent call last):\n File "bin/osh", line 378, in <module>\n sys.exit(main(sys.argv))\n File "bin/osh", line 368, in main\n return OshMain(main_argv)\n File "bin/osh", line 327, in OshMain\n status, cflow = ex.Execute(node)\n File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 758, in Execute\n status, cflow = self.Execute(child) # last status wins\n File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 697, in Execute\n self.fd_state.RestoreAll()\n File "/home/andy/git/oil/bin/../core/process.py", line 73, in RestoreAll\n os.close(fd)\nOSError: [Errno 9] Bad file descriptor\n'

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 697, in Execute
    self.fd_state.RestoreAll()
  File "/home/andy/git/oil/bin/../core/process.py", line 73, in RestoreAll
    os.close(fd)
OSError: [Errno 9] Bad file descriptor
mksh13 Here doc with line continuation, then pipe. Syntax error.

stdout:
stderr: 
/bin/mksh: <stdin>[5]: cat: 1: No such file or directory
/bin/mksh: <stdin>[6]: syntax error: '|' unexpected
osh16 Here doc with builtin 'read'

[osh stdout] Expected b'=val1= =val2=\n', got b''

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 663, in Execute
    raise AssertionError('Error evaluating words: %s' % err)
AssertionError: Error evaluating words: ['Undefined variable v2', 'Error evaluating word part (SimpleVarSub token:(token id:VSub_Name val:"$v2" span_id:16))', 'Error evaluating word (CompoundWord\n  parts: [\n    (LiteralPart token:(token id:Lit_Other val:"=" span_id:15))\n    (SimpleVarSub token:(token id:VSub_Name val:"$v2" span_id:16))\n    (LiteralPart token:(token id:Lit_Other val:"=" span_id:17))\n  ]\n)']
osh17 Compound command here doc

[osh stdout] Expected b'X 1\nX 2\nX 3\n', got b''

stdout:
stderr: 
osh22 Two compound commands with two here docs

[osh stdout] Expected b'X 1\nX 2\n==\nY 3\nY 4\n', got b'==\n'

stdout:
==
stderr:
osh23 Function def and execution with here doc

[osh stdout] Expected b'before\n1\n2\nafter\n', got b'before\nafter\n'

stdout:
before
after
stderr:
dash27 Here doc within subshell with boolean

stdout:
127
stderr:
/bin/dash: 1: [[: not found