ysh-expr-compare () { run-file ysh-expr-compare "$@" } run-file () { local spec_name=$1; shift; sh-spec spec/$spec_name.test.sh --compare-shells --oils-bin-dir $PWD/bin "$@" }
spec test index / oilshell.org
status | osh | osh_ALT | |
pass | 14 | 14 | |
FAIL | 1 | 1 | |
total | 15 | 15 | |
case | osh | osh_ALT | description |
0 | pass | pass | Exact equality with === and !== |
1 | pass | pass | Approximate equality of Str x {Str, Int, Bool} with ~== |
2 | pass | pass | Wrong Types with ~== |
3 | FAIL | FAIL | ~== on Float - TODO floatEquals() |
details | details | ||
4 | pass | pass | Comparison converts from Str -> Int or Float |
5 | pass | pass | Comparison of Int |
6 | pass | pass | Comparison of Str does conversion to Int |
7 | pass | pass | Mixed Type Comparison does conversion to Int |
8 | pass | pass | Invalid String is an error |
9 | pass | pass | Bool conversion -- explicit allowed, implicit not allowed |
10 | pass | pass | Chained Comparisons |
11 | pass | pass | List / "Tuple" comparison is not allowed |
12 | pass | pass | Ternary op behaves like if statement |
13 | pass | pass | Undefined comparisons |
14 | pass | pass | Non-comparable types in case arms |
28 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
osh | 3 ~== on Float - TODO floatEquals() [osh status] Expected 0, got 1 stdout: stderr: if (42 ~== 42.0) { ^~~ [ stdin ]:3: fatal: ~== expects a string on the left |
osh_ALT | 3 ~== on Float - TODO floatEquals() [osh_ALT status] Expected 0, got 1 stdout: stderr: if (42 ~== 42.0) { ^~~ [ stdin ]:3: fatal: ~== expects a string on the left |