spec test index / oilshell.org
status | ysh | ysh-cpp | |
pass | 15 | 14 | |
FAIL | 1 | 2 | |
total | 16 | 16 | |
case | ysh | ysh-cpp | description |
0 | pass | pass | Eval does not take a literal block - can restore this later |
1 | pass | pass | Eval a block within a proc |
2 | pass | pass | Eval block created by calling a proc |
3 | pass | pass | eval (block) can read variables like eval '' |
4 | FAIL | FAIL | eval should have a sandboxed mode |
details | details | ||
5 | pass | pass | eval with argv bindings |
6 | pass | pass | eval lines with argv bindings |
7 | pass | pass | eval lines with var bindings |
8 | pass | pass | eval with custom dollar0 |
9 | pass | pass | eval with vars bindings |
10 | pass | pass | dynamic binding names and mutation |
11 | pass | FAIL | binding procs in the eval-ed namespace |
details | |||
12 | pass | pass | vars initializes the variable frame, but does not remember it |
13 | pass | pass | eval pos_args must be strings |
14 | pass | pass | eval with vars follows same scoping as without |
15 | pass | pass | eval 'mystring' vs. eval (myblock) |
29 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
ysh | 4 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-cpp | 4 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) |
ysh-cpp | 11 binding procs in the eval-ed namespace [ysh-cpp status] Expected 0, got 1 stdout: flag -h --help arg filestderr: try { flag } ^~~~ [ stdin ]:19: 'flag' not found (OILS-ERR-100) AddressSanitizer:DEADLYSIGNAL ================================================================= ==26245==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x562498e095dd bp 0x7fffd5833e70 sp 0x7fffd5833e50 T0) ==26245==The signal is caused by a READ memory access. ==26245==Hint: address points to the zero page. #0 0x562498e095dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367 #1 0x562498d18fdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc) #2 0x562498ca9419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352 #3 0x562498caa6dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435 #4 0x562498cad544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698 #5 0x562498ca43b9 in expr_eval::ExprEvaluator::_EvalCompare(syntax_asdl::expr__Compare*) _gen/bin/oils_for_unix.mycpp.cc:51002 #6 0x562498cac574 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51601 #7 0x562498c9de2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494 #8 0x562498be17db in cmd_eval::CommandEvaluator::_EvalCondition(syntax_asdl::condition_t*, syntax_asdl::Token*) _gen/bin/oils_for_unix.mycpp.cc:35450 #9 0x562498bee48e in cmd_eval::CommandEvaluator::_DoIf(syntax_asdl::command__If*) _gen/bin/oils_for_unix.mycpp.cc:36348 #10 0x562498bf299c in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36735 #11 0x562498bf41a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853 #12 0x562498bf5f0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024 #13 0x562498b53db9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417 #14 0x562498cff3cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393 #15 0x562498aa5429 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12377 #16 0x562498aa5a8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413 #17 0x562498d01522 in main _gen/bin/oils_for_unix.mycpp.cc:57415 #18 0x7fab1667d09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) #19 0x562498a7efc9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x19dfc9) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV /home/uke/oil/mycpp/gc_dict.h:367 in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const ==26245==ABORTING |