Results for ysh-expr.test.sh

statusoshosh_ALT
pass 2826
FAIL 35
total3131
caseoshosh_ALTdescription
0FAIL FAIL command sub $(echo hi)
detailsdetails
1pass pass Set $HOME using 'var' (i.e. Oil string var in word evaluator)
2pass pass Use shell var in Oil expression
3pass pass Length doesn't apply to BashArray
4pass pass $[len(x)] inside strings
5pass FAIL Func with multiple args in multiple contexts
details
6pass FAIL Trailing Comma in Param list
details
7FAIL FAIL nested expr contexts
detailsdetails
8pass pass YSH var used with shell arithmetic
9pass pass Parse { var x = 42 }
10pass pass double quoted
11pass pass double quoted respects strict_array
12pass pass simple var sub $name $0 $1 $? etc.
13pass pass braced var sub ${x:-default}
14pass pass braced var sub respects strict_array
15pass pass null / true / false
16pass pass multiline dict
17FAIL FAIL multiline array and command sub (only here docs disallowed)
detailsdetails
18pass pass obj=>method() - remove?
19pass pass s->upper does NOT work, should be s.upper() or =>
20pass pass d.key
21pass pass a ++ b for string/list concatenation
22pass pass s ~~ glob and s !~~ glob
23pass pass Type Errors
24pass pass can't use ++ on integers
25pass pass can't do mystr ++ mylist
26pass pass expression literals
27pass pass No list comprehension in ^[]
28pass pass expression literals, evaluation failure
29pass pass expression literals, lazy evaluation
30pass pass expression literals, sugar for strings
54 passed, 0 OK, 0 not implemented, 0 BUG, 3 failed, 0 timeouts, 0 cases skipped
3 failed under osh

Details on runs that didn't PASS

osh0 command sub $(echo hi)

[osh stdout] Expected 'x=hi y=default\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 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1768, in _Dispatch
    status = self._DoVarDecl(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 744, in _DoVarDecl
    right_val = self.expr_ev.EvalExpr(node.rhs, loc.Missing)
  File "/home/uke/oil/ysh/expr_eval.py", line 397, in EvalExpr
    val = self._EvalExpr(node)
  File "/home/uke/oil/ysh/expr_eval.py", line 1201, in _EvalExpr
    stdout_str = self.shell_ex.RunCommandSub(node)
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined
osh_ALT0 command sub $(echo hi)

[osh_ALT stdout] Expected 'x=hi y=default\n', got ''
[osh_ALT status] Expected 0, got 1
[osh_ALT stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oil.py", line 34, in _cpython_main_hook
    sys.exit(oils_for_unix.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 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2178, in ExecuteAndCatch
    raise  # 'eval break' and 'source return.sh', etc.
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1915, in _Dispatch
    status = self._DoTimeBlock(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 744, in _DoVarDecl
    right_val = self.expr_ev.EvalExpr(node.rhs, loc.Missing)
  File "/home/uke/oil/ysh/expr_eval.py", line 397, in EvalExpr
    val = self._EvalExpr(node)
  File "/home/uke/oil/ysh/expr_eval.py", line 1227, in _EvalExpr
    items = [value.Str(s) for s in strs]
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined
FATAL: couldn't import from app bundle '/home/uke/oil/_tmp/oil-tar-test/oil-0.28.0/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47
osh_ALT5 Func with multiple args in multiple contexts

[osh_ALT stdout] Expected '7 7\n', got ''
[osh_ALT status] Expected 0, got 1

stdout:
stderr: 
  source $LIB_YSH/math.ysh
         ^~~~~~~~
[ stdin ]:3: 'source' failed: No builtin file 'stdlib/ysh/math.ysh'
  source $LIB_YSH/math.ysh
  ^~~~~~
[ stdin ]:3: errexit PID 5264: command.Simple failed with status 1
osh_ALT6 Trailing Comma in Param list

[osh_ALT stdout] Expected '7 7\n', got ''
[osh_ALT status] Expected 0, got 1

stdout:
stderr: 
  source $LIB_YSH/math.ysh
         ^~~~~~~~
[ stdin ]:3: 'source' failed: No builtin file 'stdlib/ysh/math.ysh'
  source $LIB_YSH/math.ysh
  ^~~~~~
[ stdin ]:3: errexit PID 5268: command.Simple failed with status 1
osh7 nested expr contexts

[osh stdout] Expected 'len 3\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 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1768, in _Dispatch
    status = self._DoVarDecl(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 744, in _DoVarDecl
    right_val = self.expr_ev.EvalExpr(node.rhs, loc.Missing)
  File "/home/uke/oil/ysh/expr_eval.py", line 397, in EvalExpr
    val = self._EvalExpr(node)
  File "/home/uke/oil/ysh/expr_eval.py", line 1201, in _EvalExpr
    stdout_str = self.shell_ex.RunCommandSub(node)
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined
osh_ALT7 nested expr contexts

[osh_ALT stdout] Expected 'len 3\n', got ''
[osh_ALT status] Expected 0, got 1
[osh_ALT stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oil.py", line 34, in _cpython_main_hook
    sys.exit(oils_for_unix.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 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2178, in ExecuteAndCatch
    raise  # 'eval break' and 'source return.sh', etc.
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1915, in _Dispatch
    status = self._DoTimeBlock(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 744, in _DoVarDecl
    right_val = self.expr_ev.EvalExpr(node.rhs, loc.Missing)
  File "/home/uke/oil/ysh/expr_eval.py", line 397, in EvalExpr
    val = self._EvalExpr(node)
  File "/home/uke/oil/ysh/expr_eval.py", line 1227, in _EvalExpr
    items = [value.Str(s) for s in strs]
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined
FATAL: couldn't import from app bundle '/home/uke/oil/_tmp/oil-tar-test/oil-0.28.0/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47
osh17 multiline array and command sub (only here docs disallowed)

[osh stdout] Expected 'array=3\ncomsub=6\n', got 'array=3\n'
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
array=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 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1768, in _Dispatch
    status = self._DoVarDecl(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 744, in _DoVarDecl
    right_val = self.expr_ev.EvalExpr(node.rhs, loc.Missing)
  File "/home/uke/oil/ysh/expr_eval.py", line 397, in EvalExpr
    val = self._EvalExpr(node)
  File "/home/uke/oil/ysh/expr_eval.py", line 1201, in _EvalExpr
    stdout_str = self.shell_ex.RunCommandSub(node)
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined
osh_ALT17 multiline array and command sub (only here docs disallowed)

[osh_ALT stdout] Expected 'array=3\ncomsub=6\n', got 'array=3\n'
[osh_ALT status] Expected 0, got 1
[osh_ALT stderr] Found 'Traceback (most recent'

stdout:
array=3
stderr:
Traceback (most recent call last):
  File "/home/uke/oil/bin/oil.py", line 34, in _cpython_main_hook
    sys.exit(oils_for_unix.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 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2178, in ExecuteAndCatch
    raise  # 'eval break' and 'source return.sh', etc.
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1915, in _Dispatch
    status = self._DoTimeBlock(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 744, in _DoVarDecl
    right_val = self.expr_ev.EvalExpr(node.rhs, loc.Missing)
  File "/home/uke/oil/ysh/expr_eval.py", line 397, in EvalExpr
    val = self._EvalExpr(node)
  File "/home/uke/oil/ysh/expr_eval.py", line 1227, in _EvalExpr
    items = [value.Str(s) for s in strs]
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined
FATAL: couldn't import from app bundle '/home/uke/oil/_tmp/oil-tar-test/oil-0.28.0/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47