Results for oil-expr.test.sh

statusoshosh_ALT
pass 5252
FAIL 11
total5353
caseoshosh_ALTdescription
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 augmented assignment doesn't work on shell arrays
6pass pass Set $HOME using 'var' (i.e. Oil string var in word evaluator)
7pass pass Use shell var in Oil expression
8pass pass Length in two different contexts
9pass pass $len(x) inside strings
10pass pass Func with multiple args in multiple contexts
11pass pass Trailing Comma in Param list
12pass pass nested expr contexts
13pass pass Test value.Obj inside shell arithmetic
14pass pass Parse { var x = 42 }
15pass pass double quoted
16pass pass double quoted respects strict_array
17pass pass simple var sub $name $0 $1 $? etc.
18pass pass braced var sub ${x:-default}
19pass pass braced var sub respects strict_array
20pass pass null / true / false
21pass pass Integer literals
22pass pass Integer literals with underscores
23pass pass Backslash char literal (is an integer)
24pass pass \u{3bc} is char literal
25pass pass Pound char literal (is an integer)
26pass pass The literal #''' isn't accepted (use \' instead)
27pass pass Float Literals
28FAIL FAIL Float Literals with _ (requires re2c refinement)
detailsdetails
29pass pass Tuples
30pass pass in, not in
31pass pass dict with 'bare word' keys
32pass pass dict with expression keys
33pass pass dict literal with implicit value
34pass pass Dict literal with string keys
35pass pass Bitwise logical
36pass pass Shift operators
37pass pass Exponentiation with **
38pass pass Two Kinds of Division
39pass pass mod operator
40pass pass Logical operators
41pass pass x if b else y
42pass pass multiline strings, list, tuples, etc.
43pass pass multiline dict
44pass pass multiline array and command sub (only here docs disallowed)
45pass pass obj.attr and obj.method()
46pass pass obj.method does NOT give you a bound method
47pass pass d->key
48pass pass a ++ b for string/list concatenation
49pass pass s ~~ glob and s !~~ glob
50pass pass Type Errors
51pass pass can't use ++ on integers
52pass pass can't do mystr ++ mylist
104 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

osh28 Float Literals with _ (requires re2c refinement)

[osh stdout] Expected 'less\ngreat\n', got ''
[osh status] Expected 0, got 2

stdout:
stderr: 
  var x = 1.2 + 2_3.0e-1  # 3.5
                    ^~~~
[ stdin ]:2: Syntax error in expression (near Id.Expr_Float)
osh_ALT28 Float Literals with _ (requires re2c refinement)

[osh_ALT stdout] Expected 'less\ngreat\n', got ''
[osh_ALT status] Expected 0, got 2

stdout:
stderr: 
  var x = 1.2 + 2_3.0e-1  # 3.5
                    ^~~~
[ stdin ]:2: Syntax error in expression (near Id.Expr_Float)