Results for ysh-expr-arith.test.sh

statusoshosh-cpp
pass 2627
FAIL 10
total2727
caseoshosh-cppdescription
0pass pass Minus operator is left associative
1pass pass Division operators are left associative
2pass pass Exponentiation is right associative
3pass pass Binary operators, with conversions from string
4pass pass Floating Point Division with /
5pass pass Operations That Convert to Integer: // % **
6pass pass Division by zero
7pass pass Unary Operations
8pass pass unary minus on strings
9pass pass unary ~ complement on strings
10pass pass unary ~ doesn't work on bool
11pass pass unary ~ doesn't work on float
12pass pass unary - applied to bool is not allowed
13pass pass Big float constants becomes inf and -inf, tiny become 0.0 and -0.0
14FAIL pass Int constants bigger than 64 bits
details
15pass pass Bit shift by negative number is not allowed
16pass pass 64-bit operations
17pass pass 64-bit integer doesn't overflow
18pass pass Integer literals
19pass pass Integer literals with underscores
20pass pass Exponentiation with **
21pass pass Float Division
22pass pass Integer Division (rounds toward zero)
23pass pass % operator is remainder
24pass pass Bitwise logical
25pass pass Shift operators
26pass pass multiline strings, list, tuple syntax for list, etc.
53 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

osh14 Int constants bigger than 64 bits

[osh stdout] Expected '(Int) 1111\ndec=0\ndec=2\n(Int) 3\nbin=0\nbin=2\n(Int) 63\noct=0\noct=2\n(Int) 255\nhex=0\nhex=2\n' Got '(Int) 1111\ndec=0\n(Int) 111122223333444455556666\ndec=0\n(Int) 3\nbin=0\n(Int) 4722366482869645213695\nbin=0\n(Int) 63\noct=0\n(Int) 674788526559709289910\noct=0\n(Int) 255\nhex=0\n(Int) 52818855605794001074506366975\nhex=0\n'

stdout:
(Int)   1111
dec=0
(Int)   111122223333444455556666
dec=0
(Int)   3
bin=0
(Int)   4722366482869645213695
bin=0
(Int)   63
oct=0
(Int)   674788526559709289910
oct=0
(Int)   255
hex=0
(Int)   52818855605794001074506366975
hex=0
stderr: