Results for ysh-builtin-eval.test.sh

statusysh
pass 5
FAIL 8
total13
caseyshdescription
0pass Eval does not take a literal block - can restore this later
1pass Eval a block within a proc
2pass Eval block created by calling a proc
3pass eval (block) can read variables like eval ''
4FAIL eval should have a sandboxed mode
details
5FAIL eval with argv bindings
details
6FAIL eval lines with argv bindings
details
7FAIL eval with custom arg0
details
8FAIL eval with vars bindings
details
9FAIL dynamic binding names and mutation
details
10FAIL binding procs in the eval-ed namespace
details
11FAIL vars initializes the variable frame, but does not remember it
details
12pass eval 'mystring' vs. eval (myblock)
5 passed, 0 OK, 0 not implemented, 0 BUG, 8 failed, 0 timeouts, 0 cases skipped
8 failed under osh

Details on runs that didn't PASS

ysh4 eval should have a sandboxed mode

[ysh stdout] Expected 'TODO\n', got ''

stdout:
stderr: 
    push-frame {
               ^
[ stdin ]:4: fatal: 'push-frame' appears to be external. External commands don't accept typed args (OILS-ERR-200)
ysh5 eval with argv bindings

[ysh stdout] Expected 'foo bar baz\n(List) ["foo","bar","baz"]\n' Got ''
[ysh status] Expected 0, got 2

stdout:
stderr: 
  eval (^(echo "$@")) (pos_args=:| foo bar baz |)
                      ^
[ stdin ]:1: Invalid word while parsing command line (Id.Op_LParen)
ysh6 eval lines with argv bindings

[ysh stdout] Expected 'a\nc\n', got ''

stdout:
stderr: 
    while read --line {
               ^~~~~~
[ stdin ]:2: 'read' got invalid flag '--line'
ysh7 eval with custom arg0

[ysh stdout] Expected 'my arg0\n', got ''
[ysh status] Expected 0, got 2

stdout:
stderr: 
  eval (^(write $0)) (arg0="my arg0")
                     ^
[ stdin ]:1: Invalid word while parsing command line (Id.Op_LParen)
ysh8 eval with vars bindings

[ysh stdout] Expected 'abc\n123\n', got '(Str) "abc"\n'
[ysh status] Expected 0, got 3

stdout:
(Str)   "abc"
stderr:
  eval (^(pp test_ (myVar)), vars={ 'myVar': '123' })
       ^
[ stdin ]:3: fatal: Got unexpected named args: vars
ysh9 dynamic binding names and mutation

[ysh stdout] Expected '(Dict) {"a":1}\n(Dict) {"b":2}\n(Dict) {"c":3}\n(List) [{"a":1,"d":0},{"b":2,"d":0},{"c":3,"d":0}]\n' Got ''
[ysh status] Expected 0, got 3

stdout:
stderr: 
      eval (block, vars={ binding: _ })
           ^
[ stdin ]:7: fatal: Got unexpected named args: vars
ysh10 binding procs in the eval-ed namespace

[ysh stdout] Expected 'flag -h --help\narg file\n', got ''
[ysh status] Expected 0, got 3

stdout:
stderr: 
    eval (block, vars={ 'flag': __flag, 'arg': __arg })
         ^
[ stdin ]:10: fatal: Got unexpected named args: vars
ysh11 vars initializes the variable frame, but does not remember it

[ysh stdout] Expected '(Dict) {"foo":123}\n', got ''
[ysh status] Expected 0, got 2

stdout:
stderr: 
  eval (^(var bar = 321), vars=vars)
                       ^
[ stdin ]:2: Syntax error in expression (near Id.Eof_RParen)