Results for ble-idioms.test.sh

statusbashzshmkshashosh
pass 2199512
N-I 01214160
BUG 33130
FAIL 000012
total2424242424
casebashzshmkshashoshdescription
0pass pass pass pass pass recursive arith: one level
1pass pass pass pass pass recursive arith: two levels
2pass pass BUG BUG pass recursive arith: short circuit &&, ||
detailsdetails
3pass pass pass BUG pass recursive arith: short circuit ?:
details
4pass BUG pass BUG pass recursive arith: side effects
detailsdetails
5pass pass N-I N-I pass recursive arith: recursion
detailsdetails
6pass pass pass N-I pass recursive arith: array elements
details
7pass pass pass pass pass dynamic arith varname: assign
8pass pass pass pass pass dynamic arith varname: read
9pass pass pass pass pass dynamic arith varname: copy/add
10pass N-I N-I N-I FAIL is-array with ${var@a}
detailsdetailsdetailsdetails
11pass BUG pass N-I FAIL Sparse array with big index
detailsdetailsdetails
12pass BUG N-I N-I FAIL shift unshift reverse
detailsdetailsdetailsdetails
13pass N-I N-I N-I pass shopt -u expand_aliases and eval
detailsdetailsdetails
14BUG N-I N-I N-I FAIL Tilde expansions in RHS of designated array initialization
detailsdetailsdetailsdetailsdetails
15pass N-I N-I N-I FAIL InitializerList (BashArray): index increments with
detailsdetailsdetailsdetails
16pass N-I N-I N-I FAIL InitializerList (BashArray): [k]=$v and [k]="$@"
detailsdetailsdetailsdetails
17pass N-I N-I N-I FAIL InitializerList (BashAssoc): [k]=$v and [k]="$@"
detailsdetailsdetailsdetails
18pass N-I N-I N-I FAIL InitializerList (BashArray): append to element
detailsdetailsdetailsdetails
19BUG N-I N-I N-I FAIL InitializerList (BashAssoc): append to element
detailsdetailsdetailsdetailsdetails
20BUG N-I N-I N-I pass InitializerList (BashAssoc): non-index forms of element
detailsdetailsdetailsdetails
21pass N-I N-I N-I FAIL InitializerList (BashArray): evaluation order (1)
detailsdetailsdetailsdetails
22pass N-I N-I N-I FAIL InitializerList (BashArray): evaluation order (2)
detailsdetailsdetailsdetails
23pass N-I N-I N-I FAIL InitializerList (BashArray): evaluation order (3)
detailsdetailsdetailsdetails
56 passed, 0 OK, 42 not implemented, 10 BUG, 12 failed, 0 timeouts, 0 cases skipped
12 failed under osh

Details on runs that didn't PASS

mksh2 recursive arith: short circuit &&, ||

stdout:
1:123
1:123
0:321
1:321
stderr:
ash2 recursive arith: short circuit &&, ||

stdout:
1:123
1:123
0:321
1:321
stderr:
ash3 recursive arith: short circuit ?:

stdout:
123:321
321:321
stderr:
zsh4 recursive arith: side effects

stdout:
0:123
stderr:
ash4 recursive arith: side effects

stdout:
0:123
stderr:
mksh5 recursive arith: recursion

stdout:
stderr: 
mksh: <stdin>[2]: i<=100&&(s+=i,i++,loop): expression recurses on parameter 'loop'
ash5 recursive arith: recursion

stdout:
stderr: 
ash: expression recursion loop detected
ash6 recursive arith: array elements

stdout:
stderr: 
ash: text[1]=d=123: not found
ash: text[2]=text[1]: not found
ash: text[3]=text[2]: not found
ash: arithmetic syntax error
zsh10 is-array with ${var@a}

stdout:
stderr: 
ble/is-array: bad substitution
mksh10 is-array with ${var@a}

stdout:
stderr: 
ash10 is-array with ${var@a}

stdout:
stderr: 
osh10 is-array with ${var@a}

[osh stdout] Expected 'undef 1\nstring 1\narray 0\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 959, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand
    cmd_val)
  File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable
    status = self.cmd_ev.RunProc(proc, cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc
    status = self._Execute(proc.body)
  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 1820, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList
    status = self._Execute(child)
  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 1719, in _Dispatch
    status = self._Execute(node.child)
  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 1733, in _Dispatch
    result = self.bool_ev.EvalB(node.expr)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 1231, in EvalB
    s1 = self._EvalCompoundWord(node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 1141, in _EvalCompoundWord
    val = self.word_ev.EvalWordToString(word, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 2162, in EvalWordToString
    self._EvalWordPart(p, part_vals, 0)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1750, in _EvalBracedVarSub
    part_val = _ValueToPartValue(val, quoted or quoted2, part)
  File "/home/uke/oil/osh/word_eval.py", line 231, in _ValueToPartValue
    bash_impl.InternalStringArray_GetValues(val), quoted)
NameError: global name 'bash_impl' is not defined
zsh11 Sparse array with big index

stdout:
len=1048576
stderr:
ash11 Sparse array with big index

stdout:
stderr: 
ash: syntax error: unexpected "("
osh11 Sparse array with big index

[osh stdout] Expected 'len=1\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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1668, in _EvalBracedVarSub
    n = self._Count(val, part.name_tok)
  File "/home/uke/oil/osh/word_eval.py", line 952, in _Count
    count = bash_impl.BashArray_Count(val)
NameError: global name 'bash_impl' is not defined
zsh12 shift unshift reverse

stdout:
1 2 3 4 5 6
2 3 4 5 6
4 5 6
---
99 4 5 6
---
5 4 99
stderr:
(eval):4: a: assignment to invalid subscript range
mksh12 shift unshift reverse

stdout:
stderr: 
ash12 shift unshift reverse

stdout:
stderr: 
osh12 shift unshift reverse

[osh stdout] Expected '1 2 3 4 5 6\n2 3 4 5 6\n4 5 6\n---\n99 4 5 6\n---\n6 5 4 99\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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1750, in _EvalBracedVarSub
    part_val = _ValueToPartValue(val, quoted or quoted2, part)
  File "/home/uke/oil/osh/word_eval.py", line 235, in _ValueToPartValue
    return part_value.Array(bash_impl.BashArray_GetValues(val), quoted)
NameError: global name 'bash_impl' is not defined
zsh13 shopt -u expand_aliases and eval

stdout:
stderr: 
mksh13 shopt -u expand_aliases and eval

stdout:
stderr: 
ash13 shopt -u expand_aliases and eval

stdout:
stderr: 
bash14 Tilde expansions in RHS of designated array initialization

stdout:
~
~:~:~
stderr:
zsh14 Tilde expansions in RHS of designated array initialization

stdout:
stderr: 
mksh14 Tilde expansions in RHS of designated array initialization

stdout:
stderr: 
ash14 Tilde expansions in RHS of designated array initialization

stdout:
stderr: 
osh14 Tilde expansions in RHS of designated array initialization

[osh stdout] Expected '/home/user\n/home/user:/home/user:/home/user\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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1661, in _EvalBracedVarSub
    val = self._EvalBracketOp(val, part, quoted, vsub_state, vtest_place)
  File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp
    val = self._ArrayIndex(val, part, vtest_place)
  File "/home/uke/oil/osh/word_eval.py", line 1414, in _ArrayIndex
    s = bash_impl.BashAssoc_GetElement(assoc_val, key)
NameError: global name 'bash_impl' is not defined
zsh15 InitializerList (BashArray): index increments with

stdout:
stderr: 
mksh15 InitializerList (BashArray): index increments with

stdout:
stderr: 
ash15 InitializerList (BashArray): index increments with

stdout:
stderr: 
osh15 InitializerList (BashArray): index increments with

[osh stdout] Expected "keys: ['100', '101', '102', '103']\nvals: ['1', '2', '3', '4']\nkeys: ['5', '6', '7', '8', '100', '101', '102', '103']\nvals: ['a', 'b', 'c', 'd', '1', '2', '3', '4']\n" Got 'keys: '
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
keys: 
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 1812, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList
    status = self._Execute(child)
  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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1680, in _EvalBracedVarSub
    val = self._Keys(val, part.name_tok)
  File "/home/uke/oil/osh/word_eval.py", line 977, in _Keys
    mops.ToStr(i) for i in bash_impl.BashArray_GetKeys(val)
NameError: global name 'bash_impl' is not defined
zsh16 InitializerList (BashArray): [k]=$v and [k]="$@"

stdout:
stderr: 
mksh16 InitializerList (BashArray): [k]=$v and [k]="$@"

stdout:
stderr: 
ash16 InitializerList (BashArray): [k]=$v and [k]="$@"

stdout:
stderr: 
osh16 InitializerList (BashArray): [k]=$v and [k]="$@"

[osh stdout] Expected "keys: ['0', '1', '2', '5']\nvals: ['1', '2', '3', '1 2 3']\nkeys: ['0', '1', '2', '5']\nvals: ['1', '2', '3', '3 5 7']\nkeys: ['0', '1', '2', '5']\nvals: ['1', '2', '3', '3 5 7']\nkeys: ['0', '1', '2', '5']\nvals: ['1', '2', '3', '3 5 7']\nkeys: ['0', '1', '2', '5']\nvals: ['1', '2', '3', '3 5 7']\n" Got 'keys: '
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
keys: 
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 1812, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList
    status = self._Execute(child)
  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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1680, in _EvalBracedVarSub
    val = self._Keys(val, part.name_tok)
  File "/home/uke/oil/osh/word_eval.py", line 977, in _Keys
    mops.ToStr(i) for i in bash_impl.BashArray_GetKeys(val)
NameError: global name 'bash_impl' is not defined
zsh17 InitializerList (BashAssoc): [k]=$v and [k]="$@"

stdout:
stderr: 
mksh17 InitializerList (BashAssoc): [k]=$v and [k]="$@"

stdout:
stderr: 
ash17 InitializerList (BashAssoc): [k]=$v and [k]="$@"

stdout:
stderr: 
osh17 InitializerList (BashAssoc): [k]=$v and [k]="$@"

[osh stdout] Expected "keys: ['i']\nvals: ['1 2 3']\nkeys: ['i']\nvals: ['3 5 7']\nkeys: ['i']\nvals: ['3 5 7']\nkeys: ['i']\nvals: ['3 5 7']\nkeys: ['i']\nvals: ['3 5 7']\n" Got 'keys: '
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
keys: 
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 1812, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList
    status = self._Execute(child)
  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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1680, in _EvalBracedVarSub
    val = self._Keys(val, part.name_tok)
  File "/home/uke/oil/osh/word_eval.py", line 986, in _Keys
    keys = bash_impl.BashAssoc_GetKeys(val)
NameError: global name 'bash_impl' is not defined
zsh18 InitializerList (BashArray): append to element

stdout:
stderr: 
mksh18 InitializerList (BashArray): append to element

stdout:
stderr: 
ash18 InitializerList (BashArray): append to element

stdout:
stderr: 
osh18 InitializerList (BashArray): append to element

[osh stdout] Expected "keys: ['100']\nvals: ['12']\nkeys: ['100']\nvals: ['12:34:56']\n" Got 'keys: '
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
keys: 
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 1812, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList
    status = self._Execute(child)
  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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1680, in _EvalBracedVarSub
    val = self._Keys(val, part.name_tok)
  File "/home/uke/oil/osh/word_eval.py", line 977, in _Keys
    mops.ToStr(i) for i in bash_impl.BashArray_GetKeys(val)
NameError: global name 'bash_impl' is not defined
bash19 InitializerList (BashAssoc): append to element

stdout:
keys: ['hello']
vals: ['2']
keys: ['hello']
vals: ['2:34:56']
stderr:
zsh19 InitializerList (BashAssoc): append to element

stdout:
stderr: 
mksh19 InitializerList (BashAssoc): append to element

stdout:
stderr: 
ash19 InitializerList (BashAssoc): append to element

stdout:
stderr: 
osh19 InitializerList (BashAssoc): append to element

[osh stdout] Expected "keys: ['hello']\nvals: ['12']\nkeys: ['hello']\nvals: ['12:34:56']\n" Got 'keys: '
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
keys: 
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 1812, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList
    status = self._Execute(child)
  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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1680, in _EvalBracedVarSub
    val = self._Keys(val, part.name_tok)
  File "/home/uke/oil/osh/word_eval.py", line 986, in _Keys
    keys = bash_impl.BashAssoc_GetKeys(val)
NameError: global name 'bash_impl' is not defined
bash20 InitializerList (BashAssoc): non-index forms of element

stdout:
status=0
keys: ['j']
vals: ['1']
stderr:
bash: line 3: a: 2: must use subscript when assigning associative array
bash: line 3: a: 3: must use subscript when assigning associative array
bash: line 3: a: 4: must use subscript when assigning associative array
zsh20 InitializerList (BashAssoc): non-index forms of element

stdout:
stderr: 
mksh20 InitializerList (BashAssoc): non-index forms of element

stdout:
stderr: 
ash20 InitializerList (BashAssoc): non-index forms of element

stdout:
stderr: 
zsh21 InitializerList (BashArray): evaluation order (1)

stdout:
stderr: 
mksh21 InitializerList (BashArray): evaluation order (1)

stdout:
stderr: 
ash21 InitializerList (BashArray): evaluation order (1)

stdout:
stderr: 
osh21 InitializerList (BashArray): evaluation order (1)

[osh stdout] Expected "keys: ['104', '205', '306']\nvals: ['1', '2', '3']\n" Got 'keys: '
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
keys: 
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 1812, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList
    status = self._Execute(child)
  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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1680, in _EvalBracedVarSub
    val = self._Keys(val, part.name_tok)
  File "/home/uke/oil/osh/word_eval.py", line 977, in _Keys
    mops.ToStr(i) for i in bash_impl.BashArray_GetKeys(val)
NameError: global name 'bash_impl' is not defined
zsh22 InitializerList (BashArray): evaluation order (2)

stdout:
stderr: 
mksh22 InitializerList (BashArray): evaluation order (2)

stdout:
stderr: 
ash22 InitializerList (BashArray): evaluation order (2)

stdout:
stderr: 
osh22 InitializerList (BashArray): evaluation order (2)

[osh stdout] Expected "keys: ['0', '6', '10']\nvals: ['1+2+3', '10', 'hello']\n" Got 'keys: '
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
keys: 
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 1812, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList
    status = self._Execute(child)
  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 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1680, in _EvalBracedVarSub
    val = self._Keys(val, part.name_tok)
  File "/home/uke/oil/osh/word_eval.py", line 977, in _Keys
    mops.ToStr(i) for i in bash_impl.BashArray_GetKeys(val)
NameError: global name 'bash_impl' is not defined
zsh23 InitializerList (BashArray): evaluation order (3)

stdout:
stderr: 
mksh23 InitializerList (BashArray): evaluation order (3)

stdout:
stderr: 
ash23 InitializerList (BashArray): evaluation order (3)

stdout:
stderr: 
osh23 InitializerList (BashArray): evaluation order (3)

[osh stdout] Expected "keys: ['0', '1', '2', '3', '4']\nvals: ['old3', 'old1', 'old2', 'old3', 'old1']\nkeys: ['0', '1', '2', '5', '201', '202']\nvals: ['new1', 'new2', 'new3', 'old3', 'old1', 'old2']\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 1711, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1028, in _DoShAssignment
    rhs = self.word_ev.EvalRhsWord(pair.rhs)
  File "/home/uke/oil/osh/word_eval.py", line 2238, in EvalRhsWord
    for v in self.EvalWordSequence(words):
  File "/home/uke/oil/osh/word_eval.py", line 2623, in EvalWordSequence
    cmd_val = self.EvalWordSequence2(words, False)
  File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/uke/oil/osh/word_eval.py", line 1661, in _EvalBracedVarSub
    val = self._EvalBracketOp(val, part, quoted, vsub_state, vtest_place)
  File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp
    val = self._ArrayIndex(val, part, vtest_place)
  File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex
    s, error_code = bash_impl.BashArray_GetElement(
NameError: global name 'bash_impl' is not defined