Results for for-expr.test.sh

statusbash-4zshosh
pass 980
ok 010
FAIL 009
total999
casebash-4zshoshdescription
0pass pass FAIL C-style for loop
details
1pass pass FAIL For loop with and without semicolon
details
2pass pass FAIL Accepts { } syntax too
details
3pass pass FAIL Empty init
details
4pass pass FAIL Empty init and cond
details
5pass pass FAIL Infinite loop with ((;;))
details
6pass ok FAIL Arith lexer mode
detailsdetails
7pass pass FAIL Integers near 31, 32, 62 bits
details
8pass 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

Details on runs that didn't PASS

osh0 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:
1
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 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
osh1 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:
1
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 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
osh2 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:
1
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 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
osh3 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:
1
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 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
osh4 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:
1
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 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
osh5 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
zsh6 Arith lexer mode

stdout:
stderr: 
zsh: bad math expression: operand expected at `'3''
osh6 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:
3
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 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
osh7 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:
2147483646
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 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
osh8 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:
4294967296
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 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