49 passed, 0 OK, 15 not implemented, 8 BUG, 3 failed, 0 timeouts, 0 cases skipped 3 failed under osh
mksh | 2 recursive arith: short circuit &&, || stdout: 1:123 1:123 0:321 1:321stderr: |
ash | 2 recursive arith: short circuit &&, || stdout: 1:123 1:123 0:321 1:321stderr: |
ash | 3 recursive arith: short circuit ?: stdout: 123:321 321:321stderr: |
zsh | 4 recursive arith: side effects stdout: 0:123stderr: |
ash | 4 recursive arith: side effects stdout: 0:123stderr: |
mksh | 5 recursive arith: recursion stdout: stderr: mksh: <stdin>[2]: i<=100&&(s+=i,i++,loop): expression recurses on parameter 'loop' |
ash | 5 recursive arith: recursion stdout: stderr: ash: expression recursion loop detected |
osh | 5 recursive arith: recursion [osh stdout] Expected '5050\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 859, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2516, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 1985, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1905, in _EvalWordPart num = self.arith_ev.EvalToBigInt(part.anode) File "/home/uke/oil/osh/sh_expr_eval.py", line 553, in EvalToBigInt val = self.Eval(node) File "/home/uke/oil/osh/sh_expr_eval.py", line 817, in Eval self.EvalToBigInt(node.left) # throw away result File "/home/uke/oil/osh/sh_expr_eval.py", line 553, in EvalToBigInt val = self.Eval(node) File "/home/uke/oil/osh/sh_expr_eval.py", line 643, in Eval rhs_big = self.EvalToBigInt(node.right) File "/home/uke/oil/osh/sh_expr_eval.py", line 563, in EvalToBigInt i = self._ValToIntOrError(val, node) File "/home/uke/oil/osh/sh_expr_eval.py", line 498, in _ValToIntOrError return self._StringToBigInt(val.s, loc.Arith(blame)) File "/home/uke/oil/osh/sh_expr_eval.py", line 476, in _StringToBigInt integer = self.EvalToBigInt(node2) File "/home/uke/oil/osh/sh_expr_eval.py", line 553, in EvalToBigInt val = self.Eval(node) File "/home/uke/oil/osh/sh_expr_eval.py", line 729, in Eval rhs_big = self.EvalToBigInt(node.right) File "/home/uke/oil/osh/sh_expr_eval.py", line 553, in EvalToBigInt val = self.Eval(node) File "/home/uke/oil/osh/sh_expr_eval.py", line 817, in Eval self.EvalToBigInt(node.left) # throw away result File "/home/uke/oil/osh/sh_expr_eval.py", line 553, in EvalToBigInt val = self.Eval(node) File "/home/uke/oil/osh/sh_expr_eval.py", line 817, in Eval self.EvalToBigInt(node.left) # throw away result File "/home/uke/oil/osh/sh_expr_eval.py", line 553, in EvalToBigInt val = self.Eval(node) File "/home/uke/oil/osh/sh_expr_eval.py", line 648, in Eval old_big, lval = self._EvalLhsAndLookupArith(node.left) File "/home/uke/oil/osh/sh_expr_eval.py", line 520, in _EvalLhsAndLookupArith location.TokenForArith(node)) 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 |
ash | 6 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 |
osh | 9 dynamic arith varname: copy/add [osh stdout] Expected 'c_x=3 c_y=4\nc_x=7 c_y=24\n', got 'c_x=3 c_y=4\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: c_x=3 c_y=4stderr: 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 859, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2516, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 1985, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1905, in _EvalWordPart num = self.arith_ev.EvalToBigInt(part.anode) File "/home/uke/oil/osh/sh_expr_eval.py", line 553, in EvalToBigInt val = self.Eval(node) File "/home/uke/oil/osh/sh_expr_eval.py", line 648, in Eval old_big, lval = self._EvalLhsAndLookupArith(node.left) File "/home/uke/oil/osh/sh_expr_eval.py", line 520, in _EvalLhsAndLookupArith location.TokenForArith(node)) 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 |
zsh | 10 is-array with ${var@a} stdout: stderr: ble/is-array: bad substitution |
mksh | 10 is-array with ${var@a} stdout: stderr: |
ash | 10 is-array with ${var@a} stdout: stderr: |
zsh | 11 Sparse array with big index stdout: len=1048576stderr: |
ash | 11 Sparse array with big index stdout: stderr: ash: syntax error: unexpected "(" |
zsh | 12 shift unshift reverse stdout: 1 2 3 4 5 6 2 3 4 5 6 4 5 6 --- 99 4 5 6 --- 5 4 99stderr: (eval):4: a: assignment to invalid subscript range |
mksh | 12 shift unshift reverse stdout: stderr: |
ash | 12 shift unshift reverse stdout: stderr: |
osh | 12 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 '1 2 3 4 5 6\n2 3 4 5 6\n4 5 6\n---\n99 4 5 6\n---\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: 1 2 3 4 5 6 2 3 4 5 6 4 5 6 --- 99 4 5 6 ---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 575, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 452, in RunSimpleCommand return self.RunBuiltin(builtin_id, cmd_val) File "/home/uke/oil/core/executor.py", line 313, in RunBuiltin return self.RunBuiltinProc(builtin_proc, cmd_val) File "/home/uke/oil/core/executor.py", line 323, in RunBuiltinProc status = builtin_proc.Run(cmd_val) File "/home/uke/oil/builtin/meta_oils.py", line 635, in Run return self.shell_ex.RunBuiltin(to_run, cmd_val2) File "/home/uke/oil/core/executor.py", line 313, in RunBuiltin return self.RunBuiltinProc(builtin_proc, cmd_val) File "/home/uke/oil/core/executor.py", line 323, in RunBuiltinProc status = builtin_proc.Run(cmd_val) File "/home/uke/oil/builtin/meta_oils.py", line 101, in Run cmd_flags=cmd_eval.RaiseControlFlow) 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 1795, in _Dispatch status = self._DoForEach(node) File "/home/uke/oil/osh/cmd_eval.py", line 1333, in _DoForEach status = self._Execute(node.body) # last one wins 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 1750, 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 1653, in _Dispatch status = self._Execute(node.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 1645, in _Dispatch status = self._DoShAssignment(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 993, in _DoShAssignment lval = self.arith_ev.EvalShellLhs(pair.lhs, which_scopes) File "/home/uke/oil/osh/sh_expr_eval.py", line 954, in EvalShellLhs index = mops.BigTruncate(self.EvalToBigInt(node.index)) File "/home/uke/oil/osh/sh_expr_eval.py", line 553, in EvalToBigInt val = self.Eval(node) File "/home/uke/oil/osh/sh_expr_eval.py", line 611, in Eval old_big, lval = self._EvalLhsAndLookupArith(node.child) File "/home/uke/oil/osh/sh_expr_eval.py", line 520, in _EvalLhsAndLookupArith location.TokenForArith(node)) 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 |
zsh | 13 shopt -u expand_aliases and eval stdout: stderr: |
mksh | 13 shopt -u expand_aliases and eval stdout: stderr: |
ash | 13 shopt -u expand_aliases and eval stdout: stderr: |
bash | 14 Tilde expansions in RHS of designated array initialization stdout: ~ ~:~:~stderr: |
zsh | 14 Tilde expansions in RHS of designated array initialization stdout: stderr: |
mksh | 14 Tilde expansions in RHS of designated array initialization stdout: stderr: |
ash | 14 Tilde expansions in RHS of designated array initialization stdout: stderr: |