Results for ysh-expr-arith.test.sh

statusosh
pass 28
FAIL 2
total30
caseoshdescription
0pass Minus operator is left associative
1pass Division operators are left associative
2pass Exponentiation is right associative
3pass Binary operators, with conversions from string
4pass Floating Point Division with /
5FAIL Operations That Convert to Integer: // % **
details
6FAIL Division by zero
details
7pass Unary Operations
8pass Unary plus on integers and floats
9pass unary plus and minus combined
10pass unary minus on strings
11pass unary plus on strings
12pass unary ~ complement on strings
13pass unary ~ doesn't work on bool
14pass unary ~ doesn't work on float
15pass unary - applied to bool is not allowed
16pass Big float constants becomes inf and -inf, tiny become 0.0 and -0.0
17pass Int constants bigger than 64 bits
18pass Bit shift by negative number is not allowed
19pass 64-bit operations
20pass 64-bit integer doesn't overflow
21pass Integer literals
22pass Integer literals with underscores
23pass Exponentiation with **
24pass Float Division
25pass Integer Division (rounds toward zero)
26pass % operator is remainder
27pass Bitwise logical
28pass Shift operators
29pass multiline strings, list, tuple syntax for list, etc.
28 passed, 0 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

osh5 Operations That Convert to Integer: // % **

[osh stdout] Expected '2\n1\n25\n_status 3\n_status 3\n' Got '2\n1\n25\n_status\n_status\n'

stdout:
2
1
25
_status
_status
stderr:
osh6 Division by zero

[osh stdout] Expected 'status / is 3\nstatus // is 3\nstatus % is 3\n' Got 'status / is \nstatus // is \nstatus % is \n'

stdout:
status / is 
status // is 
status % is 
stderr: