151 passed, 13 ok, 8 known unimplemented, 6 known bugs, 13 failed, 0 skipped
| mksh | 4 local array stdout: stderr: /bin/mksh: <stdin>[2]: syntax error: '(' unexpected
 | 
| mksh | 6 space before ( in array initialization stdout: 1stderr: | 
| osh | 6 space before ( in array initialization [osh status] Expected 2, got 1 stdout: stderr: Traceback (most recent call last):
  File "bin/osh", line 440, in <module>
    main(sys.argv)
  File "bin/osh", line 427, in main
    sys.exit(OilMain(argv))
  File "bin/osh", line 410, in OilMain
    status = OshMain(main_argv)
  File "bin/osh", line 321, in OshMain
    node = c_parser.ParseWholeFile()
  File "/home/andy/git/oil/bin/../osh/cmd_parse.py", line 1559, in ParseWholeFile
    if not self._NewlineOk(): return None
  File "/home/andy/git/oil/bin/../osh/cmd_parse.py", line 191, in _NewlineOk
    if not self._Peek():
  File "/home/andy/git/oil/bin/../osh/cmd_parse.py", line 154, in _Peek
    w = self.w_parser.ReadWord(self.next_lex_mode)
  File "/home/andy/git/oil/bin/../osh/word_parse.py", line 1114, in ReadWord
    w, need_more = self._ReadWord(lex_mode)
  File "/home/andy/git/oil/bin/../osh/word_parse.py", line 1075, in _ReadWord
    w = self._ReadCompoundWord(lex_mode=lex_mode)
  File "/home/andy/git/oil/bin/../osh/word_parse.py", line 909, in _ReadCompoundWord
    part2 = self._ReadArrayLiteralPart()
  File "/home/andy/git/oil/bin/../osh/word_parse.py", line 845, in _ReadArrayLiteralPart
    assert self.cur_token.id == Id.Op_LParen, self.cur_token
AssertionError: (token id:WS_Space val:" " span_id:1)
 | 
| osh_ALT | 6 space before ( in array initialization [osh_ALT status] Expected 2, got 1 stdout: stderr: Traceback (most recent call last):
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/andy/git/oil/bin/oil.py", line 440, in <module>
    main(sys.argv)
  File "/home/andy/git/oil/bin/oil.py", line 427, in main
    sys.exit(OilMain(argv))
  File "/home/andy/git/oil/bin/oil.py", line 410, in OilMain
    status = OshMain(main_argv)
  File "/home/andy/git/oil/bin/oil.py", line 321, in OshMain
    node = c_parser.ParseWholeFile()
  File "/home/andy/git/oil/bin/../osh/cmd_parse.py", line 1559, in ParseWholeFile
    if not self._NewlineOk(): return None
  File "/home/andy/git/oil/bin/../osh/cmd_parse.py", line 191, in _NewlineOk
    if not self._Peek():
  File "/home/andy/git/oil/bin/../osh/cmd_parse.py", line 154, in _Peek
    w = self.w_parser.ReadWord(self.next_lex_mode)
  File "/home/andy/git/oil/bin/../osh/word_parse.py", line 1114, in ReadWord
    w, need_more = self._ReadWord(lex_mode)
  File "/home/andy/git/oil/bin/../osh/word_parse.py", line 1075, in _ReadWord
    w = self._ReadCompoundWord(lex_mode=lex_mode)
  File "/home/andy/git/oil/bin/../osh/word_parse.py", line 909, in _ReadCompoundWord
    part2 = self._ReadArrayLiteralPart()
  File "/home/andy/git/oil/bin/../osh/word_parse.py", line 845, in _ReadArrayLiteralPart
    assert self.cur_token.id == Id.Op_LParen, self.cur_token
AssertionError: (token id:WS_Space val:" " span_id:1)
 | 
| mksh | 8 array with invalid token stdout: stderr: /bin/mksh: <stdin>[3]: syntax error: '&' unexpected | 
| mksh | 13 Negative index stdout: ['', '', '']stderr: | 
| osh | 17 Retrieve all indices with ! [osh stdout] Expected "['0', '1']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "bin/osh", line 440, in <module>
    main(sys.argv)
  File "bin/osh", line 427, in main
    sys.exit(OilMain(argv))
  File "bin/osh", line 410, in OilMain
    status = OshMain(main_argv)
  File "bin/osh", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 727, in _EvalBracedVarSub
    val = self._ApplyPrefixOp(val, part.prefix_op)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 438, in _ApplyPrefixOp
    raise NotImplementedError(op_id)
NotImplementedError: VSub_Bang
 | 
| osh_ALT | 17 Retrieve all indices with ! [osh_ALT stdout] Expected "['0', '1']\n", got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/andy/git/oil/bin/oil.py", line 440, in <module>
    main(sys.argv)
  File "/home/andy/git/oil/bin/oil.py", line 427, in main
    sys.exit(OilMain(argv))
  File "/home/andy/git/oil/bin/oil.py", line 410, in OilMain
    status = OshMain(main_argv)
  File "/home/andy/git/oil/bin/oil.py", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 727, in _EvalBracedVarSub
    val = self._ApplyPrefixOp(val, part.prefix_op)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 438, in _ApplyPrefixOp
    raise NotImplementedError(op_id)
NotImplementedError: VSub_Bang
 | 
| mksh | 18 ${!a[1]} is named ref in bash stdout: ['a[1]']stderr: | 
| osh | 18 ${!a[1]} is named ref in bash [osh stdout] Expected "['bar']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "bin/osh", line 440, in <module>
    main(sys.argv)
  File "bin/osh", line 427, in main
    sys.exit(OilMain(argv))
  File "bin/osh", line 410, in OilMain
    status = OshMain(main_argv)
  File "bin/osh", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 727, in _EvalBracedVarSub
    val = self._ApplyPrefixOp(val, part.prefix_op)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 438, in _ApplyPrefixOp
    raise NotImplementedError(op_id)
NotImplementedError: VSub_Bang
 | 
| osh_ALT | 18 ${!a[1]} is named ref in bash [osh_ALT stdout] Expected "['bar']\n", got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/andy/git/oil/bin/oil.py", line 440, in <module>
    main(sys.argv)
  File "/home/andy/git/oil/bin/oil.py", line 427, in main
    sys.exit(OilMain(argv))
  File "/home/andy/git/oil/bin/oil.py", line 410, in OilMain
    status = OshMain(main_argv)
  File "/home/andy/git/oil/bin/oil.py", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 727, in _EvalBracedVarSub
    val = self._ApplyPrefixOp(val, part.prefix_op)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 438, in _ApplyPrefixOp
    raise NotImplementedError(op_id)
NotImplementedError: VSub_Bang
 | 
| mksh | 19 Retrieve indices without [] stdout: ['a']stderr: | 
| osh | 19 Retrieve indices without [] [osh stdout] Expected "['']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "bin/osh", line 440, in <module>
    main(sys.argv)
  File "bin/osh", line 427, in main
    sys.exit(OilMain(argv))
  File "bin/osh", line 410, in OilMain
    status = OshMain(main_argv)
  File "bin/osh", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 727, in _EvalBracedVarSub
    val = self._ApplyPrefixOp(val, part.prefix_op)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 438, in _ApplyPrefixOp
    raise NotImplementedError(op_id)
NotImplementedError: VSub_Bang
 | 
| osh_ALT | 19 Retrieve indices without [] [osh_ALT stdout] Expected "['']\n", got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/andy/git/oil/bin/oil.py", line 440, in <module>
    main(sys.argv)
  File "/home/andy/git/oil/bin/oil.py", line 427, in main
    sys.exit(OilMain(argv))
  File "/home/andy/git/oil/bin/oil.py", line 410, in OilMain
    status = OshMain(main_argv)
  File "/home/andy/git/oil/bin/oil.py", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 727, in _EvalBracedVarSub
    val = self._ApplyPrefixOp(val, part.prefix_op)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 438, in _ApplyPrefixOp
    raise NotImplementedError(op_id)
NotImplementedError: VSub_Bang
 | 
| mksh | 25 Exporting array doesn't do anything, not even first element stdout: stderr: /bin/mksh: <stdin>[1]: syntax error: '(' unexpected
 | 
| osh | 25 Exporting array doesn't do anything, not even first element stdout: stderr: Line 1 of '<stdin>'
  export PYTHONPATH=(a b c)
                     ^
Unexpected array literal: (CompoundWord
  parts: [
    (ArrayLiteralPart
      words: [
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:a span_id:4))])
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:b span_id:6))])
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:c span_id:8))])
      ]
    )
  ]
)
---
Line 0 of '<unknown>'
  <no position info for token>
Error parsing AndOr in ParseCommandTerm
---
 | 
| osh_ALT | 25 Exporting array doesn't do anything, not even first element stdout: stderr: Line 1 of '<stdin>'
  export PYTHONPATH=(a b c)
                     ^
Unexpected array literal: (CompoundWord
  parts: [
    (ArrayLiteralPart
      words: [
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:a span_id:4))])
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:b span_id:6))])
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:c span_id:8))])
      ]
    )
  ]
)
---
Line 0 of '<unknown>'
  <no position info for token>
Error parsing AndOr in ParseCommandTerm
---
 | 
| mksh | 26 Env with array stdout: stderr: /bin/mksh: <stdin>[1]: syntax error: '(' unexpected
 | 
| osh | 26 Env with array [osh stdout] Expected u'a\n(b b)\n', got '' [osh status] Expected 0, got 2 stdout: stderr: Line 1 of '<stdin>'
  A=a B=(b b) printenv.py A B
         ^
Unexpected array literal in binding: (CompoundWord
  parts: [
    (ArrayLiteralPart
      words: [
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:b span_id:5))])
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:b span_id:7))])
      ]
    )
  ]
)
---
Line 0 of '<unknown>'
  <no position info for token>
Error parsing AndOr in ParseCommandTerm
---
 | 
| osh_ALT | 26 Env with array [osh_ALT stdout] Expected u'a\n(b b)\n', got '' [osh_ALT status] Expected 0, got 2 stdout: stderr: Line 1 of '<stdin>'
  A=a B=(b b) printenv.py A B
         ^
Unexpected array literal in binding: (CompoundWord
  parts: [
    (ArrayLiteralPart
      words: [
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:b span_id:5))])
        (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:b span_id:7))])
      ]
    )
  ]
)
---
Line 0 of '<unknown>'
  <no position info for token>
Error parsing AndOr in ParseCommandTerm
---
 | 
| osh | 27 Set element [osh stdout] Expected "['9', '2 3']\n", got "['1', '2 3']\n" stdout: ['1', '2 3']stderr: Unexpected error in execvpe('a[0]=9', ['a[0]=9'], ...): [Errno 2] No such file or directory
 | 
| osh_ALT | 27 Set element [osh_ALT stdout] Expected "['9', '2 3']\n", got "['1', '2 3']\n" stdout: ['1', '2 3']stderr: Unexpected error in execvpe('a[0]=9', ['a[0]=9'], ...): [Errno 2] No such file or directory
 | 
| osh | 28 Set element with var ref [osh stdout] Expected "['9', '2 3']\n", got "['1', '2 3']\n" stdout: ['1', '2 3']stderr: Unexpected error in execvpe('a[0]=9', ['a[0]=9'], ...): [Errno 2] No such file or directory
 | 
| osh_ALT | 28 Set element with var ref [osh_ALT stdout] Expected "['9', '2 3']\n", got "['1', '2 3']\n" stdout: ['1', '2 3']stderr: Unexpected error in execvpe('a[0]=9', ['a[0]=9'], ...): [Errno 2] No such file or directory
 | 
| osh | 29 Set element with array ref [osh stdout] Expected "['1', '9']\n", got "['1', '2 3']\n" stdout: ['1', '2 3']stderr: Unexpected error in execvpe('a[1]=9', ['a[1]=9'], ...): [Errno 2] No such file or directory
 | 
| osh_ALT | 29 Set element with array ref [osh_ALT stdout] Expected "['1', '9']\n", got "['1', '2 3']\n" stdout: ['1', '2 3']stderr: Unexpected error in execvpe('a[1]=9', ['a[1]=9'], ...): [Errno 2] No such file or directory
 | 
| mksh | 30 Set array item to array stdout: stderr: /bin/mksh: <stdin>[2]: set: a[0]: is not an identifier | 
| osh | 30 Set array item to array [osh stdout] Expected 'status=1\n', got '' [osh status] Expected 0, got 2 stdout: stderr: Line 2 of '<stdin>'
  a[0]=(3 4)
        ^
Expected word type Right_FuncDef, got (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:3 span_id:13))])
---
Line 0 of '<unknown>'
  <no position info for token>
Error parsing AndOr in ParseCommandTerm
---
 | 
| osh_ALT | 30 Set array item to array [osh_ALT stdout] Expected 'status=1\n', got '' [osh_ALT status] Expected 0, got 2 stdout: stderr: Line 2 of '<stdin>'
  a[0]=(3 4)
        ^
Expected word type Right_FuncDef, got (CompoundWord parts:[(LiteralPart token:(token id:Lit_Chars val:3 span_id:13))])
---
Line 0 of '<unknown>'
  <no position info for token>
Error parsing AndOr in ParseCommandTerm
---
 | 
| mksh | 31 Slice of array with [@] stdout: stderr: /bin/mksh: <stdin>[2]: ${a[@]: 1:2}: bad substitution
 | 
| osh | 31 Slice of array with [@] [osh stdout] Expected "['2', '3']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "bin/osh", line 440, in <module>
    main(sys.argv)
  File "bin/osh", line 427, in main
    sys.exit(OilMain(argv))
  File "bin/osh", line 410, in OilMain
    status = OshMain(main_argv)
  File "bin/osh", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 775, in _EvalBracedVarSub
    raise NotImplementedError(op)
NotImplementedError: (Slice
  begin: 
    (ArithWord
      w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:1 span_id:18))])
    )
  length: 
    (ArithWord
      w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:2 span_id:20))])
    )
)
 | 
| osh_ALT | 31 Slice of array with [@] [osh_ALT stdout] Expected "['2', '3']\n", got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/andy/git/oil/bin/oil.py", line 440, in <module>
    main(sys.argv)
  File "/home/andy/git/oil/bin/oil.py", line 427, in main
    sys.exit(OilMain(argv))
  File "/home/andy/git/oil/bin/oil.py", line 410, in OilMain
    status = OshMain(main_argv)
  File "/home/andy/git/oil/bin/oil.py", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 775, in _EvalBracedVarSub
    raise NotImplementedError(op)
NotImplementedError: (Slice
  begin: 
    (ArithWord
      w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:1 span_id:18))])
    )
  length: 
    (ArithWord
      w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:2 span_id:20))])
    )
)
 | 
| mksh | 32 Negative slice stdout: stderr: /bin/mksh: <stdin>[2]: ${a[@]: (-2):1}: bad substitution
 | 
| osh | 32 Negative slice [osh stdout] Expected "['2']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "bin/osh", line 440, in <module>
    main(sys.argv)
  File "bin/osh", line 427, in main
    sys.exit(OilMain(argv))
  File "bin/osh", line 410, in OilMain
    status = OshMain(main_argv)
  File "bin/osh", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 775, in _EvalBracedVarSub
    raise NotImplementedError(op)
NotImplementedError: (Slice
  begin: 
    (ArithUnary
      op_id: Node_UnaryMinus
      child: 
        (ArithWord
          w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:2 span_id:20))])
        )
    )
  length: 
    (ArithWord
      w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:1 span_id:23))])
    )
)
 | 
| osh_ALT | 32 Negative slice [osh_ALT stdout] Expected "['2']\n", got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/andy/git/oil/bin/oil.py", line 440, in <module>
    main(sys.argv)
  File "/home/andy/git/oil/bin/oil.py", line 427, in main
    sys.exit(OilMain(argv))
  File "/home/andy/git/oil/bin/oil.py", line 410, in OilMain
    status = OshMain(main_argv)
  File "/home/andy/git/oil/bin/oil.py", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 775, in _EvalBracedVarSub
    raise NotImplementedError(op)
NotImplementedError: (Slice
  begin: 
    (ArithUnary
      op_id: Node_UnaryMinus
      child: 
        (ArithWord
          w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:2 span_id:20))])
        )
    )
  length: 
    (ArithWord
      w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:1 span_id:23))])
    )
)
 | 
| mksh | 33 Slice with arithmetic stdout: stderr: /bin/mksh: <stdin>[3]: ${a[@]:i-4:2}: bad substitution
 | 
| osh | 33 Slice with arithmetic [osh stdout] Expected "['2', '3']\n", got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "bin/osh", line 440, in <module>
    main(sys.argv)
  File "bin/osh", line 427, in main
    sys.exit(OilMain(argv))
  File "bin/osh", line 410, in OilMain
    status = OshMain(main_argv)
  File "bin/osh", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 775, in _EvalBracedVarSub
    raise NotImplementedError(op)
NotImplementedError: (Slice
  begin: 
    (ArithBinary
      op_id: Arith_Minus
      left: (ArithVarRef name:i)
      right: 
        (ArithWord
          w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:4 span_id:23))])
        )
    )
  length: 
    (ArithWord
      w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:2 span_id:25))])
    )
)
 | 
| osh_ALT | 33 Slice with arithmetic [osh_ALT stdout] Expected "['2', '3']\n", got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/andy/git/oil/bin/oil.py", line 440, in <module>
    main(sys.argv)
  File "/home/andy/git/oil/bin/oil.py", line 427, in main
    sys.exit(OilMain(argv))
  File "/home/andy/git/oil/bin/oil.py", line 410, in OilMain
    status = OshMain(main_argv)
  File "/home/andy/git/oil/bin/oil.py", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 571, in _Dispatch
    argv = self.ev.EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1060, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 1040, in _EvalWordSequence
    args = self._EvalWordAndReframe(w)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 993, in _EvalWordAndReframe
    part_vals = self._EvalParts(word)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 887, in _EvalParts
    for v in self.part_ev._EvalWordPart(p, quoted=quoted):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 816, in _EvalWordPart
    return [self._EvalDoubleQuotedPart(part)]
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 582, in _EvalDoubleQuotedPart
    for part_val in self._EvalWordPart(p, quoted=True):
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 846, in _EvalWordPart
    return self._EvalBracedVarSub(part, quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 775, in _EvalBracedVarSub
    raise NotImplementedError(op)
NotImplementedError: (Slice
  begin: 
    (ArithBinary
      op_id: Arith_Minus
      left: (ArithVarRef name:i)
      right: 
        (ArithWord
          w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:4 span_id:23))])
        )
    )
  length: 
    (ArithWord
      w: (CompoundWord parts:[(LiteralPart token:(token id:Lit_Digits val:2 span_id:25))])
    )
)
 | 
| osh | 38 declare array and then append [osh stdout] Expected "['a', 'b', 'c']\n", got '' [osh status] Expected 0, got 2 stdout: stderr: Line 1 of '<stdin>'
  declare -a array
          ^~
Invalid variable name '-a'
---
Line 0 of '<unknown>'
  <no position info for token>
Error parsing AndOr in ParseCommandTerm
---
 | 
| osh_ALT | 38 declare array and then append [osh_ALT stdout] Expected "['a', 'b', 'c']\n", got '' [osh_ALT status] Expected 0, got 2 stdout: stderr: Line 1 of '<stdin>'
  declare -a array
          ^~
Invalid variable name '-a'
---
Line 0 of '<unknown>'
  <no position info for token>
Error parsing AndOr in ParseCommandTerm
---
 | 
| mksh | 39 Array syntax in wrong place stdout: stderr: /bin/mksh: <stdin>[1]: syntax error: '(' unexpected
 | 
| bash | 41 Single array with :- stdout: ['none', 'x', '']stderr: | 
| mksh | 41 Single array with :- stdout: ['none', 'x', 'none']stderr: | 
| osh | 41 Single array with :- stdout: ['x', '']stderr: | 
| osh_ALT | 41 Single array with :- stdout: ['x', '']stderr: | 
| mksh | 42 Stripping a whole array unquoted stdout: stderr: /bin/mksh: <stdin>[2]: ${files[@]%.c}: bad substitution
 | 
| mksh | 43 Stripping a whole array quoted stdout: stderr: /bin/mksh: <stdin>[2]: ${files[@]%.c}: bad substitution
 | 
| bash | 44 Multiple subscripts not allowed stdout: ['123', '123']stderr: | 
| mksh | 44 Multiple subscripts not allowed stdout: stderr: /bin/mksh: <stdin>[2]: ${a[0][0]}: bad substitution
 | 
| bash | 45 Length op, index op, then transform op is not allowed stdout: 3 3stderr: | 
| mksh | 45 Length op, index op, then transform op is not allowed stdout: stderr: /bin/mksh: <stdin>[2]: ${#a[0]/1/xxx}: bad substitution
 | 
| bash | 46 Array subscript not allowed on string stdout: abcstderr: | 
| mksh | 46 Array subscript not allowed on string stdout: abcstderr: |