Results for append.test.sh

statusbashmkshzshosh
pass 131292
ok 3130
N-I 1460
BUG 3320
FAIL 00018
total20202020
casebashmkshzshoshdescription
0pass pass pass FAIL Append string to string
details
1pass pass pass FAIL Append array to array
details
2pass pass pass FAIL Append string to undefined variable
details
3pass pass pass FAIL Append to array to undefined variable
details
4BUG BUG ok FAIL error: s+=(my array)
detailsdetailsdetailsdetails
5ok ok ok FAIL error: myarray+=s
detailsdetailsdetailsdetails
6ok pass pass FAIL typeset s+=(my array)
detailsdetails
7BUG N-I pass FAIL error: typeset myarray+=s
detailsdetailsdetails
8BUG BUG BUG pass error: append used like env prefix
detailsdetailsdetails
9pass pass BUG FAIL myarray[1]+=s - Append to element
detailsdetails
10pass BUG pass FAIL myarray[-1]+=s - Append to last element
detailsdetails
11ok N-I ok pass Try to append list to element
detailsdetailsdetails
12pass pass pass FAIL Strings have value semantics, not reference semantics
details
13pass pass N-I FAIL typeset s+=
detailsdetails
14pass pass N-I FAIL typeset s${dyn}+=
detailsdetails
15pass pass N-I FAIL export readonly +=
detailsdetails
16pass pass N-I FAIL local +=
detailsdetails
17pass N-I N-I FAIL assign builtin appending array: declare d+=(d e)
detailsdetailsdetails
18N-I pass pass FAIL export+=array disallowed (strict_array)
detailsdetails
19pass N-I N-I FAIL Type mismatching of lhs+=rhs should not cause a crash
detailsdetailsdetails
36 passed, 7 OK, 11 not implemented, 8 BUG, 18 failed, 0 timeouts, 0 cases skipped
18 failed under osh

Details on runs that didn't PASS

osh0 Append string to string

[osh stdout] Expected 'abcd\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
osh1 Append array to array

[osh stdout] Expected "['x', 'y', 't', 'u v']\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
osh2 Append string to undefined variable

[osh stdout] Expected 's=foo\nt=foo\nt=foofoo\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
osh3 Append to array to undefined variable

[osh stdout] Expected "['c', 'd']\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
bash4 error: s+=(my array)

stdout:
abc
stderr:
mksh4 error: s+=(my array)

stdout:
abc
stderr:
zsh4 error: s+=(my array)

stdout:
abc d e f
stderr:
osh4 error: s+=(my array)

[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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
bash5 error: myarray+=s

stdout:
['xz', 'y']
stderr:
mksh5 error: myarray+=s

stdout:
['xz', 'y']
stderr:
zsh5 error: myarray+=s

stdout:
['x', 'y', 'z']
stderr:
osh5 error: myarray+=s

[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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
bash6 typeset s+=(my array)

stdout:
abc
status=0
['abc', 'd', 'e', 'f']
stderr:
osh6 typeset s+=(my array)

[osh stderr] Found 'Traceback (most recent'

stdout:
abc
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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
bash7 error: typeset myarray+=s

stdout:
['x', 'y']
['xs', 'y']
stderr:
mksh7 error: typeset myarray+=s

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
osh7 error: typeset myarray+=s

[osh stderr] Found 'Traceback (most recent'

stdout:
['x', 'y']
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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
bash8 error: append used like env prefix

stdout:
aa
stderr:
mksh8 error: append used like env prefix

stdout:
a
stderr:
zsh8 error: append used like env prefix

stdout:
aa
stderr:
zsh9 myarray[1]+=s - Append to element

stdout:
['xz', 'y']
stderr:
osh9 myarray[1]+=s - Append to element

[osh stdout] Expected "['x', 'yz']\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
mksh10 myarray[-1]+=s - Append to last element

stdout:
['1', '2 3', ' 4']
stderr:
osh10 myarray[-1]+=s - Append to last element

[osh stdout] Expected "['1', '2 3 4']\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
bash11 Try to append list to element

stdout:
['1', '2 3']
stderr:
bash: line 2: a[-1]: cannot assign list to array member
mksh11 Try to append list to element

stdout:
stderr: 
mksh: <stdin>[2]: set: a[-1]+: is not an identifier
zsh11 Try to append list to element

stdout:
['1', '2 3', '4', '5']
stderr:
osh12 Strings have value semantics, not reference semantics

[osh stdout] Expected 'abcd abc\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
zsh13 typeset s+=

stdout:
stderr: 
typeset: not valid in this context: s+
osh13 typeset s+=

[osh stdout] Expected 's=foo\nt=foo\nt=foofoo\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
zsh14 typeset s${dyn}+=

stdout:
stderr: 
typeset: not valid in this context: sx+
osh14 typeset s${dyn}+=

[osh stdout] Expected 'sx=foo\ntx=foo\ntx=foofoo\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
zsh15 export readonly +=

stdout:
stderr: 
export: not valid in this context: e+
osh15 export readonly +=

[osh stdout] Expected 'e=foo\nr=bar\ne=foofoo\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 269, in Run
    state.SetExport)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
zsh16 local +=

stdout:
stderr: 
f:local:1: not valid in this context: s+
osh16 local +=

[osh stdout] Expected 's=foo\ns=foofoo\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 575, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 420, in RunSimpleCommand
    status = self.cmd_ev.RunProc(proc, cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 2323, in RunProc
    status = self._Execute(proc.body)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1754, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 1985, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
mksh17 assign builtin appending array: declare d+=(d e)

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
zsh17 assign builtin appending array: declare d+=(d e)

stdout:
stderr: 
declare: not valid in this context: d+
osh17 assign builtin appending array: declare d+=(d e)

[osh stdout] Expected 'd e\nd e c l\nr e\nl o\nl o c a\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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 466, in Run
    _AssignVarForBuiltin(self.mem, rval, pair, which_scopes, flags)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
bash18 export+=array disallowed (strict_array)

stdout:
e x
stderr:
bash: line 1: shopt: strict_array: invalid shell option name
osh18 export+=array disallowed (strict_array)

[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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1635, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 914, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 580, in _RunSimpleCommand
    return self._RunAssignBuiltin(cmd_val)
  File "/home/uke/oil/osh/cmd_eval.py", line 366, in _RunAssignBuiltin
    status = builtin_func.Run(cmd_val)
  File "/home/uke/oil/builtin/assign_osh.py", line 269, in Run
    state.SetExport)
  File "/home/uke/oil/builtin/assign_osh.py", line 211, in _AssignVarForBuiltin
    pair.blame_word)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
mksh19 Type mismatching of lhs+=rhs should not cause a crash

stdout:
stderr: 
zsh19 Type mismatching of lhs+=rhs should not cause a crash

stdout:
stderr: 
osh19 Type mismatching of lhs+=rhs should not cause a crash

[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 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1645, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 988, in _DoShAssignment
    node.left)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack