Results for append.test.sh

statusbashmkshzshosh
pass 1312911
ok 3131
N-I 1460
BUG 3320
FAIL 0008
total20202020
casebashmkshzshoshdescription
0pass pass pass pass Append string to string
1pass pass pass pass Append array to array
2pass pass pass FAIL Append string to undefined variable
details
3pass pass pass FAIL Append to array to undefined variable
details
4BUG BUG ok pass error: s+=(my array)
detailsdetailsdetails
5ok ok ok pass error: myarray+=s
detailsdetailsdetails
6ok pass pass pass typeset s+=(my array)
details
7BUG N-I pass pass error: typeset myarray+=s
detailsdetails
8BUG BUG BUG pass error: append used like env prefix
detailsdetailsdetails
9pass pass BUG pass myarray[1]+=s - Append to element
details
10pass BUG pass pass myarray[-1]+=s - Append to last element
details
11ok N-I ok pass Try to append list to element
detailsdetailsdetails
12pass pass pass pass Strings have value semantics, not reference semantics
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 ok Type mismatching of lhs+=rhs should not cause a crash
detailsdetailsdetails
45 passed, 8 OK, 11 not implemented, 8 BUG, 8 failed, 0 timeouts, 0 cases skipped
8 failed under osh

Details on runs that didn't PASS

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 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
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 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
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:
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:
bash6 typeset s+=(my array)

stdout:
abc
status=0
['abc', 'd', 'e', 'f']
stderr:
bash7 error: typeset myarray+=s

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

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
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:
mksh10 myarray[-1]+=s - Append to last element

stdout:
['1', '2 3', ' 4']
stderr:
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:
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 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
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 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
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 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
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 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
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 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
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 134, in OldValue
    val = cell.val
AttributeError: 'NoneType' object has no attribute 'val'
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

stdout:
stderr: 
  s+=(1)
  ^~~
[ stdin ]:6: fatal: Can't append array to string