ysh-expr-arith () { run-file ysh-expr-arith "$@" } 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 | 16 | 16 | |
FAIL | 1 | 1 | |
total | 17 | 17 | |
case | osh | osh_ALT | description |
0 | pass | pass | Minus operator is left associative |
1 | pass | pass | Division operators are left associative |
2 | pass | pass | Exponentiation is right associative |
3 | pass | pass | Binary operators, with conversions from string |
4 | pass | pass | Floating Point Division with / |
5 | pass | pass | Operations That Convert to Integer: // % ** |
6 | pass | pass | Division by zero |
7 | pass | pass | Unary Operations |
8 | pass | pass | unary minus on strings |
9 | pass | pass | unary ~ complement on strings |
10 | pass | pass | unary ~ doesn't work on bool |
11 | pass | pass | unary ~ doesn't work on float |
12 | pass | pass | unary - applied to bool is not allowed |
13 | pass | pass | Big float constants becomes inf and -inf, tiny become 0.0 and -0.0 |
14 | FAIL | FAIL | Int constants bigger than 64 bits |
details | details | ||
15 | pass | pass | 64-bit operations |
16 | pass | pass | 64-bit integer doesn't overflow |
32 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
osh | 14 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=0stderr: |
osh_ALT | 14 Int constants bigger than 64 bits [osh_ALT 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=0stderr: |