spec test index / oilshell.org
| status | osh | |
| pass | 10 | |
| FAIL | 2 | |
| total | 12 | |
| case | osh | description |
| 0 | pass | Exact equality with === and !== |
| 1 | pass | Approximate equality of Str x {Str, Int, Bool} with ~== |
| 2 | pass | Wrong Types with ~== |
| 3 | FAIL | Equality of ~== with Float (deferred) |
| details | ||
| 4 | pass | Comparison of Int |
| 5 | pass | Comparison of Str does conversion to Int |
| 6 | pass | Mixed Type Comparison does conversion to Int |
| 7 | pass | Invalid String is an error |
| 8 | pass | Bool conversion -- explicit allowed, implicit not allowed |
| 9 | pass | Chained Comparisons |
| 10 | FAIL | Tuple comparison is not allowed |
| details | ||
| 11 | pass | Collection membership |
10 passed, 0 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped 2 failed under osh
| osh | 3 Equality of ~== with Float (deferred) [osh status] Expected 0, got 1 stdout: stderr: if (42 ~== 42.0) {
^~~
[ stdin ]:3: fatal: ~== expects a string on the left
|
| osh | 10 Tuple comparison is not allowed [osh stdout] Expected 'yes1\nyes2\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 224, in <module>
sys.exit(main(sys.argv))
File "/home/uke/oil/bin/oils_for_unix.py", line 199, in main
return AppBundleMain(argv)
File "/home/uke/oil/bin/oils_for_unix.py", line 146, in AppBundleMain
return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
File "/home/uke/oil/core/shell.py", line 883, in Main
cmd_flags=cmd_eval.IsMainProgram)
File "/home/uke/oil/core/main_loop.py", line 347, in Batch
is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
File "/home/uke/oil/osh/cmd_eval.py", line 1694, in ExecuteAndCatch
status = self._Execute(node)
File "/home/uke/oil/osh/cmd_eval.py", line 1519, in _Execute
status = self._Dispatch(node, cmd_st)
File "/home/uke/oil/osh/cmd_eval.py", line 1399, in _Dispatch
b = self._EvalCondition(if_arm.cond, if_arm.keyword)
File "/home/uke/oil/osh/cmd_eval.py", line 618, in _EvalCondition
obj = self.expr_ev.EvalExpr(cond.e, blame_tok)
File "/home/uke/oil/oil_lang/expr_eval.py", line 561, in EvalExpr
return self._EvalExpr(node)
File "/home/uke/oil/oil_lang/expr_eval.py", line 1352, in _EvalExpr
return _ValueToPyObj(self._EvalCompare(node))
File "/home/uke/oil/oil_lang/expr_eval.py", line 1073, in _EvalCompare
left = _PyObjToValue(self._EvalExpr(node.left))
File "/home/uke/oil/oil_lang/expr_eval.py", line 141, in _PyObjToValue
raise NotImplementedError()
NotImplementedError
|