Results for command-sub.test.sh

statusdashbashmkshosh
pass 29292726
ok 0120
BUG 1010
FAIL 0004
total30303030
casedashbashmkshoshdescription
0pass pass pass pass case
1pass pass pass pass case in subshell
2pass pass pass pass Command sub word part
3pass pass pass pass Backtick
4pass pass pass pass Backtick 2
5pass pass pass pass Nested backticks
6pass pass pass pass Making command out of command sub should work
7pass pass ok pass Making keyword out of command sub should NOT work
details
8pass pass pass pass Command sub with here doc
9pass pass pass pass Here doc with pipeline
10pass pass pass pass Command Sub word split
11pass pass pass pass Command Sub trailing newline removed
12pass pass pass pass Command Sub trailing whitespace not removed
13pass pass pass pass Command Sub and exit code
14pass pass pass pass Command Sub in local sets exit code
15pass pass pass pass Double Quotes in Command Sub in Double Quotes
16pass pass pass pass Escaped quote in [[ ]]
17pass pass pass pass Quoting " within ``
18pass pass pass FAIL Quoting $ within ``
details
19pass pass pass pass Quoting $ within `` within double quotes
20pass pass pass FAIL Quoting \ within ``
details
21pass pass pass pass Quoting \ within `` within double quotes
22pass pass pass pass Quoting ( within ``
23pass pass pass pass Quoting ( within `` within double quotes
24pass pass pass FAIL Quoting non-special characters within ``
details
25pass pass pass pass Quoting non-special characters within `` within double quotes
26pass pass pass pass Quoting double quotes within backticks
27BUG pass BUG FAIL More levels of double quotes in backticks
detailsdetailsdetails
28pass ok ok pass Syntax errors with double quotes within backticks
detailsdetails
29pass pass pass pass Empty command sub $() (command::NoOp)
111 passed, 3 OK, 0 not implemented, 2 BUG, 4 failed, 0 timeouts, 0 cases skipped
4 failed under osh

Details on runs that didn't PASS

mksh7 Making keyword out of command sub should NOT work

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: 'do' unexpected
osh18 Quoting $ within ``

[osh stdout] Expected '1 $\n2 $\n3 $\n4 $\n5 \\$\n', got '1 $\n2 $\n3 $\n4 $\n'
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
1 $
2 $
3 $
4 $
stderr:
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2602, in EvalWordSequence2
    self._EvalWordFrame(frame, strs)
  File "/home/uke/oil/osh/word_eval.py", line 2310, in _EvalWordFrame
    argv.append(glob_.GlobUnescape(frag))
  File "/home/uke/oil/osh/glob_.py", line 139, in GlobUnescape
    raise AssertionError("Unexpected escaped character %r" % c2)
AssertionError: Unexpected escaped character 36
osh20 Quoting \ within ``

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

stdout:
[1 ]
[2 ]
[3 ]
stderr:
osh24 Quoting non-special characters within ``

[osh stdout] Expected '[1 z]\n[2 z]\n[3 \\z]\n[4 \\z]\n', got '[1 z]\n[2 z]\n'
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
[1 z]
[2 z]
stderr:
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2602, in EvalWordSequence2
    self._EvalWordFrame(frame, strs)
  File "/home/uke/oil/osh/word_eval.py", line 2310, in _EvalWordFrame
    argv.append(glob_.GlobUnescape(frag))
  File "/home/uke/oil/osh/glob_.py", line 139, in GlobUnescape
    raise AssertionError("Unexpected escaped character %r" % c2)
AssertionError: Unexpected escaped character 122
dash27 More levels of double quotes in backticks

stdout:
oo\ -
oo\ -
\"foo\" -
stderr:
mksh27 More levels of double quotes in backticks

stdout:
oo\ -
oo\ -
\"foo\" -
stderr:
osh27 More levels of double quotes in backticks

[osh stdout] Expected '\\foo\\ -\n\\foo\\ -\n\\"foo\\" -\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2602, in EvalWordSequence2
    self._EvalWordFrame(frame, strs)
  File "/home/uke/oil/osh/word_eval.py", line 2310, in _EvalWordFrame
    argv.append(glob_.GlobUnescape(frag))
  File "/home/uke/oil/osh/glob_.py", line 139, in GlobUnescape
    raise AssertionError("Unexpected escaped character %r" % c2)
AssertionError: Unexpected escaped character 102
bash28 Syntax errors with double quotes within backticks

stdout:
status=0

status=0
stderr:
bash: command substitution: line 1: unexpected EOF while looking for matching `"'
bash: command substitution: line 1: unexpected EOF while looking for matching `"'
mksh28 Syntax errors with double quotes within backticks

stdout:
status=1
status=1
stderr:
mksh: no closing quote
mksh: no closing quote