Results for ysh-expr-compare.test.sh

statusoshosh-cpp
pass 1515
FAIL 11
total1616
caseoshosh-cppdescription
0pass pass Exact equality with === and !==
1pass pass Approximate equality of Str x {Str, Int, Bool} with ~==
2pass pass Wrong Types with ~==
3pass pass === on float not allowed
4FAIL FAIL ~== on Float - TODO floatEquals()
detailsdetails
5pass pass Comparison converts from Str -> Int or Float
6pass pass Comparison of Int
7pass pass Comparison of Str does conversion to Int
8pass pass Mixed Type Comparison does conversion to Int
9pass pass Invalid String is an error
10pass pass Bool conversion -- explicit allowed, implicit not allowed
11pass pass Chained Comparisons
12pass pass List / "Tuple" comparison is not allowed
13pass pass Ternary op behaves like if statement
14pass pass Undefined comparisons
15pass pass Non-comparable types in case arms
30 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

osh4 ~== 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-cpp4 ~== on Float - TODO floatEquals()

[osh-cpp status] Expected 0, got 1

stdout:
stderr: 
  if (42 ~== 42.0) {
         ^~~
[ stdin ]:3: fatal: ~== expects a string on the left