Results for ysh-builtin-eval.test.sh

statusyshysh-cpp
pass 2323
FAIL 33
total2626
caseyshysh-cppdescription
0pass pass eval builtin does not take a literal block - can restore this later
1pass pass Eval a block within a proc
2pass pass Eval block created by calling a proc
3FAIL FAIL io->eval(block) can read variables like eval ''
detailsdetails
4FAIL FAIL eval should have a sandboxed mode
detailsdetails
5pass pass io->eval with argv bindings
6pass pass eval lines with argv bindings
7pass pass eval lines with var bindings
8pass pass eval with custom dollar0
9pass pass eval with vars bindings
10pass pass dynamic binding names and mutation
11pass pass binding procs in the eval-ed namespace
12pass pass vars initializes the variable frame, but does not remember it
13pass pass eval pos_args must be strings
14pass pass eval with vars follows same scoping as without
15pass pass eval 'mystring' vs. call io->eval(myblock)
16pass pass io->evalToDict() - local and global
17pass pass parseCommand then io->evalToDict() - in global scope
18pass pass parseCommand with syntax error
19FAIL FAIL Dict (&d) { ... } converts frame to dict
detailsdetails
20pass pass block in Dict (&d) { ... } can read from outer scope
21pass pass block in yb-capture Dict (&d) can read from outer scope
22pass pass Dict (&d) and setvar
23pass pass Dict (&d) and setglobal
24pass pass bindings created shvar persist, which is different than evalToDict()
25pass pass Block Closures in a Loop !
46 passed, 0 OK, 0 not implemented, 0 BUG, 3 failed, 0 timeouts, 0 cases skipped
3 failed under osh

Details on runs that didn't PASS

ysh3 io->eval(block) can read variables like eval ''

[ysh stdout] Expected 'mylocal=42\nmylocal=99\n', got 'mylocal=42\n'
[ysh status] Expected 0, got 1

stdout:
mylocal=42
stderr:
    echo mylocal=$mylocal
                 ^~~~~~~~
[ stdin ]:14: fatal: Undefined variable 'mylocal'
ysh-cpp3 io->eval(block) can read variables like eval ''

[ysh-cpp stdout] Expected 'mylocal=42\nmylocal=99\n', got 'mylocal=42\n'
[ysh-cpp status] Expected 0, got 1

stdout:
mylocal=42
stderr:
    echo mylocal=$mylocal
                 ^~~~~~~~
[ stdin ]:14: fatal: Undefined variable 'mylocal'
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)
ysh-cpp4 eval should have a sandboxed mode

[ysh-cpp 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)
ysh19 Dict (&d) { ... } converts frame to dict

[ysh stdout] Expected '', got '(Dict) {"bare":42,"k3":"k3"}\n'

stdout:
(Dict)   {"bare":42,"k3":"k3"}
stderr:
ysh-cpp19 Dict (&d) { ... } converts frame to dict

[ysh-cpp stdout] Expected '', got '(Dict) {"bare":42,"k3":"k3"}\n'

stdout:
(Dict)   {"bare":42,"k3":"k3"}
stderr: