Results for ysh-expr-arith.test.sh

statusoshosh-cpp
pass 1717
FAIL 11
total1818
caseoshosh-cppdescription
0pass pass Minus operator is left associative
1pass pass Division operators are left associative
2pass pass Exponentiation is right associative
3pass pass Binary operators, with conversions from string
4pass pass Floating Point Division with /
5pass pass Operations That Convert to Integer: // % **
6pass pass Division by zero
7pass pass Unary Operations
8pass pass unary minus on strings
9pass pass unary ~ complement on strings
10pass pass unary ~ doesn't work on bool
11pass pass unary ~ doesn't work on float
12pass pass unary - applied to bool is not allowed
13pass pass Big float constants becomes inf and -inf, tiny become 0.0 and -0.0
14FAIL pass Int constants bigger than 64 bits
details
15pass FAIL Bit shift by negative number is not allowed
details
16pass pass 64-bit operations
17pass 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

Details on runs that didn't PASS

osh14 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=0
stderr:
osh-cpp15 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)   1
stderr:
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