status | bash-4 | zsh | osh | |
pass | 9 | 8 | 0 | |
ok | 0 | 1 | 0 | |
FAIL | 0 | 0 | 9 | |
total | 9 | 9 | 9 | |
case | bash-4 | zsh | osh | description |
0 | pass | pass | FAIL | C-style for loop |
details | ||||
1 | pass | pass | FAIL | For loop with and without semicolon |
details | ||||
2 | pass | pass | FAIL | Accepts { } syntax too |
details | ||||
3 | pass | pass | FAIL | Empty init |
details | ||||
4 | pass | pass | FAIL | Empty init and cond |
details | ||||
5 | pass | pass | FAIL | Infinite loop with ((;;)) |
details | ||||
6 | pass | ok | FAIL | Arith lexer mode |
details | details | |||
7 | pass | pass | FAIL | Integers near 31, 32, 62 bits |
details | ||||
8 | pass | pass | FAIL | Condition that's greater than 32 bits |
details |
17 passed, 1 OK, 0 not implemented, 0 BUG, 9 failed, 0 timeouts, 0 cases skipped 9 failed under osh
osh | 0 C-style for loop [osh stdout] Expected '1\n2\n4\n5\n', got '1\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: 1stderr: 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 1801, in _Dispatch status = self._DoForExpr(node) File "/home/uke/oil/osh/cmd_eval.py", line 1372, in _DoForExpr self.arith_ev.Eval(update) 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 |
osh | 1 For loop with and without semicolon [osh stdout] Expected '1\n2\n3\n1\n2\n3\n', got '1\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: 1stderr: 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 1801, in _Dispatch status = self._DoForExpr(node) File "/home/uke/oil/osh/cmd_eval.py", line 1372, in _DoForExpr self.arith_ev.Eval(update) 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 |
osh | 2 Accepts { } syntax too [osh stdout] Expected '1\n2\n3\n', got '1\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: 1stderr: 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 1801, in _Dispatch status = self._DoForExpr(node) File "/home/uke/oil/osh/cmd_eval.py", line 1372, in _DoForExpr self.arith_ev.Eval(update) 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 |
osh | 3 Empty init [osh stdout] Expected '1\n2\n3\n', got '1\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: 1stderr: 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 1801, in _Dispatch status = self._DoForExpr(node) File "/home/uke/oil/osh/cmd_eval.py", line 1372, in _DoForExpr self.arith_ev.Eval(update) 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 |
osh | 4 Empty init and cond [osh stdout] Expected '1\n2\n3\n', got '1\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: 1stderr: 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 1801, in _Dispatch status = self._DoForExpr(node) File "/home/uke/oil/osh/cmd_eval.py", line 1372, in _DoForExpr self.arith_ev.Eval(update) 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 |
osh | 5 Infinite loop with ((;;)) [osh stdout] Expected '1\n2\n3\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 1801, in _Dispatch status = self._DoForExpr(node) File "/home/uke/oil/osh/cmd_eval.py", line 1363, in _DoForExpr status = self._Execute(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 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 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 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 | 6 Arith lexer mode stdout: stderr: zsh: bad math expression: operand expected at `'3'' |
osh | 6 Arith lexer mode [osh stdout] Expected '3\n4\n3\n4\n3\n4\n3\n4\n', got '3\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: 3stderr: 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 1801, in _Dispatch status = self._DoForExpr(node) File "/home/uke/oil/osh/cmd_eval.py", line 1372, in _DoForExpr self.arith_ev.Eval(update) 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 |
osh | 7 Integers near 31, 32, 62 bits [osh stdout] Expected '2147483646\n2147483647\n2147483648\n2147483649\n---\n4294967294\n4294967295\n4294967296\n4294967297\n---\n4611686018427387902\n4611686018427387903\n4611686018427387904\n4611686018427387905\n---\n' Got '2147483646\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: 2147483646stderr: 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 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 1801, in _Dispatch status = self._DoForExpr(node) File "/home/uke/oil/osh/cmd_eval.py", line 1372, in _DoForExpr self.arith_ev.Eval(update) 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 |
osh | 8 Condition that's greater than 32 bits [osh stdout] Expected '4294967296\n4294967297\n4294967298\n4294967299\n4294967300\n' Got '4294967296\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: 4294967296stderr: 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 1801, in _Dispatch status = self._DoForExpr(node) File "/home/uke/oil/osh/cmd_eval.py", line 1372, in _DoForExpr self.arith_ev.Eval(update) 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 |