Results for ysh-expr.test.sh

statusoshosh-cpp
pass 4443
FAIL 01
total4444
caseoshosh-cppdescription
0pass pass command sub $(echo hi)
1pass pass shell array %(a 'b c')
2pass pass empty array and simple_word_eval (regression test)
3pass pass Empty array and assignment builtin (regression)
4pass pass Shell arrays support tilde detection, static globbing, brace detection
5pass pass Set $HOME using 'var' (i.e. Oil string var in word evaluator)
6pass pass Use shell var in Oil expression
7pass pass Length doesn't apply to BashArray
8pass pass $[len(x)] inside strings
9pass pass Func with multiple args in multiple contexts
10pass pass Trailing Comma in Param list
11pass pass nested expr contexts
12pass pass YSH var used with shell arithmetic
13pass pass Parse { var x = 42 }
14pass pass double quoted
15pass pass double quoted respects strict_array
16pass pass simple var sub $name $0 $1 $? etc.
17pass pass braced var sub ${x:-default}
18pass pass braced var sub respects strict_array
19pass pass null / true / false
20pass pass Integer literals
21pass pass Integer literals with underscores
22pass pass Backslash char literal (is an integer)
23pass pass \u{3bc} is char literal
24pass pass Bitwise logical
25pass pass Shift operators
26pass pass Exponentiation with **
27pass pass Two Kinds of Division
28pass FAIL mod operator
details
29pass pass multiline strings, list, tuple syntax for list, etc.
30pass pass multiline dict
31pass pass multiline array and command sub (only here docs disallowed)
32pass pass obj->method()
33pass pass obj->method does NOT give you a bound method
34pass pass d.key
35pass pass a ++ b for string/list concatenation
36pass pass s ~~ glob and s !~~ glob
37pass pass Type Errors
38pass pass can't use ++ on integers
39pass pass can't do mystr ++ mylist
40pass pass expression literals
41pass pass expression literals, evaluation failure
42pass pass expression literals, lazy evaluation
43pass pass expression literals, sugar for strings
87 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh-cpp28 mod operator

[osh-cpp stdout] Expected '(Int) 2\n(Int) 1\n', got '(Int) 2\n(Int) -2\n'

stdout:
(Int)   2
(Int)   -2
stderr: