spec test index / oilshell.org
status | ysh | ysh-cpp | |
pass | 5 | 4 | |
FAIL | 1 | 2 | |
total | 6 | 6 | |
case | ysh | ysh-cpp | description |
0 | pass | pass | fastlex: NUL byte not allowed inside char literal #' ' |
1 | pass | pass | fastlex: NUL byte inside shebang line |
2 | FAIL | FAIL | Tea keywords don't interfere with Oil expressions |
details | details | ||
3 | pass | pass | Catch AttributeError |
4 | pass | FAIL | Command sub paren parsing bug (#1387) |
details | |||
5 | pass | pass | More Command sub paren parsing |
9 passed, 0 OK, 0 not implemented, 0 BUG, 3 failed, 0 timeouts, 0 cases skipped 1 failed under osh
ysh | 2 Tea keywords don't interfere with Oil expressions [ysh stdout] Expected 'foo\n6\n', got '' [ysh status] Expected 0, got 3 stdout: stderr: echo $[d->data] ^~~~ [ stdin ]:3: fatal: Method 'data' does not exist on 10 |
ysh-cpp | 2 Tea keywords don't interfere with Oil expressions [ysh-cpp stdout] Expected 'foo\n6\n', got '' [ysh-cpp status] Expected 0, got 1 stdout: stderr: ASAN:DEADLYSIGNAL ================================================================= ==27385==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000002 (pc 0x558a98e8c154 bp 0x7ffef8a9d900 sp 0x7ffef8a9d450 T0) ==27385==The signal is caused by a READ memory access. ==27385==Hint: address points to the zero page. #0 0x558a98e8c153 in _StrFormat mycpp/gc_str.cc:591 #1 0x558a98e8cbf2 in StrFormat(char const*, ...) mycpp/gc_str.cc:640 #2 0x558a98cbbf40 in expr_eval::OilEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:40015 #3 0x558a98cbdb05 in expr_eval::OilEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:40194 #4 0x558a98cacda7 in expr_eval::OilEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:38997 #5 0x558a98cac497 in expr_eval::OilEvaluator::EvalExprSub(syntax_asdl::word_part__ExprSub*) _gen/bin/oils_for_unix.mycpp.cc:38966 #6 0x558a98c7e843 in word_eval::AbstractWordEvaluator::_EvalWordPart(syntax_asdl::word_part_t*, List<runtime_asdl::part_value_t*>*, int) _gen/bin/oils_for_unix.mycpp.cc:34879 #7 0x558a98c7f67a in word_eval::AbstractWordEvaluator::_EvalWordToParts(syntax_asdl::CompoundWord*, List<runtime_asdl::part_value_t*>*, int) _gen/bin/oils_for_unix.mycpp.cc:34931 #8 0x558a98c88037 in word_eval::AbstractWordEvaluator::SimpleEvalWordSequence2(List<syntax_asdl::CompoundWord*>*, bool) _gen/bin/oils_for_unix.mycpp.cc:35405 #9 0x558a98c88f0a in word_eval::AbstractWordEvaluator::EvalWordSequence2(List<syntax_asdl::CompoundWord*>*, bool) _gen/bin/oils_for_unix.mycpp.cc:35440 #10 0x558a98c06abd in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:25913 #11 0x558a98c1251a in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:26777 #12 0x558a98c14163 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:26930 #13 0x558a98b57ed5 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:13132 #14 0x558a98cf1b68 in shell::Main(Str*, args::Reader*, Dict<Str*, Str*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:43723 #15 0x558a98b24f2e in oils_for_unix::AppBundleMain(List<Str*>*) _gen/bin/oils_for_unix.mycpp.cc:9930 #16 0x558a98b256b2 in oils_for_unix::main(List<Str*>*) _gen/bin/oils_for_unix.mycpp.cc:9995 #17 0x558a98cf616b in main _gen/bin/oils_for_unix.mycpp.cc:43993 #18 0x7f4093ba8c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86) #19 0x558a98b00b09 in _start (/home/andy/git/oilshell/oil/_bin/cxx-asan/oils-for-unix+0x11eb09) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV mycpp/gc_str.cc:591 in _StrFormat ==27385==ABORTING |
ysh-cpp | 4 Command sub paren parsing bug (#1387) [ysh-cpp stdout] Expected 'true\n3\n125\n13\n', got 'true\n' [ysh-cpp status] Expected 0, got 1 stdout: truestderr: const a = $(write $[len('foo')]) ^~~ [ stdin ]:3: fatal: Undefined variable 'len' [ stdin ]:3: errexit PID 27599: Command Sub exited with status 1 |