Results for ysh-builtin-eval.test.sh

statusysh
pass 30
FAIL 1
total31
caseyshdescription
0pass eval builtin 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 io->eval with argv bindings
4pass eval lines with argv bindings
5pass eval lines with var bindings
6pass eval with custom dollar0
7pass eval with vars bindings
8pass dynamic binding names and mutation
9pass binding procs in the eval-ed namespace
10pass vars initializes the variable frame, but does not remember it
11pass eval pos_args must be strings
12pass eval with vars follows same scoping as without
13pass eval 'mystring' vs. call io->eval(myblock)
14pass io->eval(to_dict=true) - local and global
15pass io->eval(to_dict=true) with dollar0, pos_args, vars - dict ordering bug
16pass io->eval(to_dict=true) with in_captured_frame=true
17pass parseCommand then io->eval(to_dict=true) - in global scope
18pass parseCommand with syntax error
19pass Dict (&d) { ... } converts frame to dict
20pass block in Dict (&d) { ... } can read from outer scope
21pass block in yb-capture Dict (&d) can read from outer scope
22pass Dict (&d) and setvar
23pass Dict (&d) and setglobal
24pass bindings created shvar persist, which is different than eval(to_dict=true)
25pass io->eval with in_captured_frame=true can express cd builtin
26pass io->eval with in_captured_frame=true can express cd builtin in different module
27pass io->eval() has cleaner scoping than shell's eval builtin
28pass io->eval with in_captured_frame=true and setglobal
29FAIL eval should have a sandboxed mode
details
30pass io->evalExpr() with vars, dollar0, pos_args
30 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

ysh29 eval should have a sandboxed mode

[ysh stdout] Expected 'TODO\n', got ''
[ysh status] Expected 1, got 2

stdout:
stderr: 
      var d = {}
          ^
[ stdin ]:12: 'd' was already declared