spec test index / oilshell.org
| status | osh | osh-cpp | |
| pass | 17 | 17 | |
| FAIL | 1 | 1 | |
| total | 18 | 18 | |
| case | osh | osh-cpp | description |
| 0 | pass | pass | Minus operator is left associative |
| 1 | pass | pass | Division operators are left associative |
| 2 | pass | pass | Exponentiation is right associative |
| 3 | pass | pass | Binary operators, with conversions from string |
| 4 | pass | pass | Floating Point Division with / |
| 5 | pass | pass | Operations That Convert to Integer: // % ** |
| 6 | pass | pass | Division by zero |
| 7 | pass | pass | Unary Operations |
| 8 | pass | pass | unary minus on strings |
| 9 | pass | pass | unary ~ complement on strings |
| 10 | pass | pass | unary ~ doesn't work on bool |
| 11 | pass | pass | unary ~ doesn't work on float |
| 12 | pass | pass | unary - applied to bool is not allowed |
| 13 | pass | pass | Big float constants becomes inf and -inf, tiny become 0.0 and -0.0 |
| 14 | FAIL | pass | Int constants bigger than 64 bits |
| details | |||
| 15 | pass | FAIL | Bit shift by negative number is not allowed |
| details | |||
| 16 | pass | pass | 64-bit operations |
| 17 | pass | pass | 64-bit integer doesn't overflow |
34 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
| osh | 14 Int constants bigger than 64 bits [osh stdout] Expected '(Int) 1111\ndec=0\ndec=2\n(Int) 3\nbin=0\nbin=2\n(Int) 63\noct=0\noct=2\n(Int) 255\nhex=0\nhex=2\n' Got '(Int) 1111\ndec=0\n(Int) 111122223333444455556666\ndec=0\n(Int) 3\nbin=0\n(Int) 4722366482869645213695\nbin=0\n(Int) 63\noct=0\n(Int) 674788526559709289910\noct=0\n(Int) 255\nhex=0\n(Int) 52818855605794001074506366975\nhex=0\n' stdout: (Int) 1111 dec=0 (Int) 111122223333444455556666 dec=0 (Int) 3 bin=0 (Int) 4722366482869645213695 bin=0 (Int) 63 oct=0 (Int) 674788526559709289910 oct=0 (Int) 255 hex=0 (Int) 52818855605794001074506366975 hex=0stderr: |
| osh-cpp | 15 Bit shift by negative number is not allowed [osh-cpp stdout] Expected '(Int) 2\n(Int) 1\nfailed 3\n\n(Int) 4\n(Int) 8\n(Int) 16\nfailed 3\n' Got '(Int) 2\n(Int) 1\n' [osh-cpp status] Expected 0, got 1 stdout: (Int) 2 (Int) 1stderr: AddressSanitizer:DEADLYSIGNAL
=================================================================
==28241==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x5595bdf8f5dd bp 0x7ffed7e6b770 sp 0x7ffed7e6b750 T0)
==28241==The signal is caused by a READ memory access.
==28241==Hint: address points to the zero page.
#0 0x5595bdf8f5dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367
#1 0x5595bde9efdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc)
#2 0x5595bde2f419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352
#3 0x5595bde306dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435
#4 0x5595bde33544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698
#5 0x5595bde23e2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494
#6 0x5595bde24682 in expr_eval::ExprEvaluator::EvalExprSub(syntax_asdl::word_part__ExprSub*) _gen/bin/oils_for_unix.mycpp.cc:50521
#7 0x5595bdde94da in word_eval::AbstractWordEvaluator::_EvalWordPart(syntax_asdl::word_part_t*, List<runtime_asdl::part_value_t*>*, int) _gen/bin/oils_for_unix.mycpp.cc:45998
#8 0x5595bddea47c in word_eval::AbstractWordEvaluator::_EvalWordToParts(syntax_asdl::CompoundWord*, List<runtime_asdl::part_value_t*>*, int) _gen/bin/oils_for_unix.mycpp.cc:46064
#9 0x5595bddf2ea4 in word_eval::AbstractWordEvaluator::SimpleEvalWordSequence2(List<syntax_asdl::CompoundWord*>*, bool, bool) _gen/bin/oils_for_unix.mycpp.cc:46608
#10 0x5595bddf3c51 in word_eval::AbstractWordEvaluator::EvalWordSequence2(List<syntax_asdl::CompoundWord*>*, bool, bool) _gen/bin/oils_for_unix.mycpp.cc:46647
#11 0x5595bdd6b8cc in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35695
#12 0x5595bdd7736b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
#13 0x5595bdd7a1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
#14 0x5595bdd7bf0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024
#15 0x5595bdcd9db9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417
#16 0x5595bde853cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393
#17 0x5595bdc2b53f in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12381
#18 0x5595bdc2ba8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413
#19 0x5595bde87522 in main _gen/bin/oils_for_unix.mycpp.cc:57415
#20 0x7f3b9151909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
#21 0x5595bdc04fc9 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
==28241==ABORTING
|