spec test index / oilshell.org
case | bash | mksh | osh | osh_ALT | description |
0 | pass | pass | FAIL | FAIL | Assignment Causes Array Decay |
details | details | ||||
1 | pass | pass | FAIL | FAIL | User arrays decay |
details | details | ||||
2 | pass | pass | FAIL | FAIL | $a gives first element of array |
details | details | ||||
3 | pass | pass | FAIL | FAIL | Assign to array index without initialization |
details | details | ||||
4 | pass | pass | FAIL | FAIL | a[40] grows array |
details | details | ||||
5 | pass | pass | FAIL | FAIL | array decays to string when comparing with [[ a = b ]] |
details | details | ||||
6 | pass | pass | FAIL | FAIL | Increment array variables |
details | details |
14 passed, 0 ok, 0 known unimplemented, 0 known bugs, 7 failed, 0 skipped
osh | 0 Assignment Causes Array Decay [osh stdout] Expected "['[x y z]']\n", got "['[x', 'y', 'z]']\n" stdout: ['[x', 'y', 'z]']stderr: |
osh_ALT | 0 Assignment Causes Array Decay [osh_ALT stdout] Expected "['[x y z]']\n", got "['[x', 'y', 'z]']\n" stdout: ['[x', 'y', 'z]']stderr: |
osh | 1 User arrays decay [osh stdout] Expected "['x', 'y', 'z', 'x y z', 'x', 'YYY', 'z']\n", got "['x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z']\n" stdout: ['x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z']stderr: Unexpected error in execvpe('c[1]=YYY', ['c[1]=YYY'], ...): [Errno 2] No such file or directory |
osh_ALT | 1 User arrays decay [osh_ALT stdout] Expected "['x', 'y', 'z', 'x y z', 'x', 'YYY', 'z']\n", got "['x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z']\n" stdout: ['x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z']stderr: Unexpected error in execvpe('c[1]=YYY', ['c[1]=YYY'], ...): [Errno 2] No such file or directory |
osh | 2 $a gives first element of array [osh stdout] Expected '1\n', got '1 2 3\n' stdout: 1 2 3stderr: |
osh_ALT | 2 $a gives first element of array [osh_ALT stdout] Expected '1\n', got '1 2 3\n' stdout: 1 2 3stderr: |
osh | 3 Assign to array index without initialization [osh stdout] Expected '5 6 2\n', got '' [osh status] Expected 0, got 1 stdout: stderr: Unexpected error in execvpe('a[5]=5', ['a[5]=5'], ...): [Errno 2] No such file or directory Unexpected error in execvpe('a[6]=6', ['a[6]=6'], ...): [Errno 2] No such file or directory Traceback (most recent call last): File "bin/osh", line 475, in <module> main(sys.argv) File "bin/osh", line 458, in main sys.exit(OilMain(argv)) File "bin/osh", line 441, in OilMain status = OshMain(main_argv, login_shell) File "bin/osh", line 394, in OshMain status = ex.Execute(node) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 969, in Execute status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 743, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 962, in _ExecuteList status = self._Execute(child) # last status wins File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 610, in _Dispatch argv = self.ev.EvalWordSequence(words) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 1106, in EvalWordSequence return self._EvalWordSequence(words) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 1086, in _EvalWordSequence args = self._EvalWordAndReframe(w) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 1039, in _EvalWordAndReframe part_vals = self._EvalParts(word) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 933, in _EvalParts for v in self.part_ev._EvalWordPart(p, quoted=quoted): File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 892, in _EvalWordPart return self._EvalBracedVarSub(part, quoted) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 825, in _EvalBracedVarSub val = self._DecayArray(val) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 632, in _DecayArray assert val.tag == value_e.StrArray, val AssertionError: (Str s:0) |
osh_ALT | 3 Assign to array index without initialization [osh_ALT stdout] Expected '5 6 2\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Unexpected error in execvpe('a[5]=5', ['a[5]=5'], ...): [Errno 2] No such file or directory Unexpected error in execvpe('a[6]=6', ['a[6]=6'], ...): [Errno 2] No such file or directory Traceback (most recent call last): File "/home/andy/git/oilshell/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/home/andy/git/oilshell/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code exec code in run_globals File "/home/andy/git/oilshell/oil/bin/oil.py", line 475, in <module> main(sys.argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 458, in main sys.exit(OilMain(argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 441, in OilMain status = OshMain(main_argv, login_shell) File "/home/andy/git/oilshell/oil/bin/oil.py", line 394, in OshMain status = ex.Execute(node) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 969, in Execute status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 743, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 962, in _ExecuteList status = self._Execute(child) # last status wins File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 610, in _Dispatch argv = self.ev.EvalWordSequence(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 1106, in EvalWordSequence File "/home/andy/git/oil/bin/../core/word_eval.py", line 1086, in _EvalWordSequence File "/home/andy/git/oil/bin/../core/word_eval.py", line 1039, in _EvalWordAndReframe File "/home/andy/git/oil/bin/../core/word_eval.py", line 933, in _EvalParts File "/home/andy/git/oil/bin/../core/word_eval.py", line 892, in _EvalWordPart File "/home/andy/git/oil/bin/../core/word_eval.py", line 825, in _EvalBracedVarSub File "/home/andy/git/oil/bin/../core/word_eval.py", line 632, in _DecayArray AssertionError: (Str s:0) FATAL: couldn't import from app bundle '_bin/osh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
osh | 4 a[40] grows array [osh stdout] Expected '1 5 3 20 30 5\n', got '1 2 3 3\n' stdout: 1 2 3 3stderr: Unexpected error in execvpe('a[1]=5', ['a[1]=5'], ...): [Errno 2] No such file or directory Unexpected error in execvpe('a[40]=30', ['a[40]=30'], ...): [Errno 2] No such file or directory Unexpected error in execvpe('a[10]=20', ['a[10]=20'], ...): [Errno 2] No such file or directory |
osh_ALT | 4 a[40] grows array [osh_ALT stdout] Expected '1 5 3 20 30 5\n', got '1 2 3 3\n' stdout: 1 2 3 3stderr: Unexpected error in execvpe('a[1]=5', ['a[1]=5'], ...): [Errno 2] No such file or directory Unexpected error in execvpe('a[40]=30', ['a[40]=30'], ...): [Errno 2] No such file or directory Unexpected error in execvpe('a[10]=20', ['a[10]=20'], ...): [Errno 2] No such file or directory |
osh | 5 array decays to string when comparing with [[ a = b ]] [osh stdout] Expected u'2 7\nEQUAL\n', got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "bin/osh", line 475, in <module> main(sys.argv) File "bin/osh", line 458, in main sys.exit(OilMain(argv)) File "bin/osh", line 441, in OilMain status = OshMain(main_argv, login_shell) File "bin/osh", line 394, in OshMain status = ex.Execute(node) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 969, in Execute status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 743, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 962, in _ExecuteList status = self._Execute(child) # last status wins File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 610, in _Dispatch argv = self.ev.EvalWordSequence(words) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 1106, in EvalWordSequence return self._EvalWordSequence(words) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 1086, in _EvalWordSequence args = self._EvalWordAndReframe(w) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 1039, in _EvalWordAndReframe part_vals = self._EvalParts(word) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 933, in _EvalParts for v in self.part_ev._EvalWordPart(p, quoted=quoted): File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 892, in _EvalWordPart return self._EvalBracedVarSub(part, quoted) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 825, in _EvalBracedVarSub val = self._DecayArray(val) File "/home/andy/git/oilshell/oil/bin/../core/word_eval.py", line 632, in _DecayArray assert val.tag == value_e.StrArray, val AssertionError: (Str s:2) |
osh_ALT | 5 array decays to string when comparing with [[ a = b ]] [osh_ALT stdout] Expected u'2 7\nEQUAL\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/home/andy/git/oilshell/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code exec code in run_globals File "/home/andy/git/oilshell/oil/bin/oil.py", line 475, in <module> main(sys.argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 458, in main sys.exit(OilMain(argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 441, in OilMain status = OshMain(main_argv, login_shell) File "/home/andy/git/oilshell/oil/bin/oil.py", line 394, in OshMain status = ex.Execute(node) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 969, in Execute status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 743, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 962, in _ExecuteList status = self._Execute(child) # last status wins File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 610, in _Dispatch argv = self.ev.EvalWordSequence(words) File "/home/andy/git/oil/bin/../core/word_eval.py", line 1106, in EvalWordSequence File "/home/andy/git/oil/bin/../core/word_eval.py", line 1086, in _EvalWordSequence File "/home/andy/git/oil/bin/../core/word_eval.py", line 1039, in _EvalWordAndReframe File "/home/andy/git/oil/bin/../core/word_eval.py", line 933, in _EvalParts File "/home/andy/git/oil/bin/../core/word_eval.py", line 892, in _EvalWordPart File "/home/andy/git/oil/bin/../core/word_eval.py", line 825, in _EvalBracedVarSub File "/home/andy/git/oil/bin/../core/word_eval.py", line 632, in _DecayArray AssertionError: (Str s:2) FATAL: couldn't import from app bundle '_bin/osh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
osh | 6 Increment array variables [osh stdout] Expected '2 2\n', got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "bin/osh", line 475, in <module> main(sys.argv) File "bin/osh", line 458, in main sys.exit(OilMain(argv)) File "bin/osh", line 441, in OilMain status = OshMain(main_argv, login_shell) File "bin/osh", line 394, in OshMain status = ex.Execute(node) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 969, in Execute status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 743, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 962, in _ExecuteList status = self._Execute(child) # last status wins File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 667, in _Dispatch i = self.arith_ev.Eval(node.child) File "/home/andy/git/oilshell/oil/bin/../core/expr_eval.py", line 262, in Eval new_int = old_int + 1 TypeError: can only concatenate list (not "int") to list |
osh_ALT | 6 Increment array variables [osh_ALT stdout] Expected '2 2\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/home/andy/git/oilshell/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code exec code in run_globals File "/home/andy/git/oilshell/oil/bin/oil.py", line 475, in <module> main(sys.argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 458, in main sys.exit(OilMain(argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 441, in OilMain status = OshMain(main_argv, login_shell) File "/home/andy/git/oilshell/oil/bin/oil.py", line 394, in OshMain status = ex.Execute(node) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 969, in Execute status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 743, in _Dispatch status = self._ExecuteList(node.children) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 962, in _ExecuteList status = self._Execute(child) # last status wins File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 933, in _Execute status, check_errexit = self._Dispatch(node, fork_external) File "/home/andy/git/oilshell/oil/bin/../core/cmd_exec.py", line 667, in _Dispatch i = self.arith_ev.Eval(node.child) File "/home/andy/git/oil/bin/../core/expr_eval.py", line 262, in Eval TypeError: can only concatenate list (not "int") to list FATAL: couldn't import from app bundle '_bin/osh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |