spec test index / oilshell.org
| status | ysh | ysh-cpp | |
| FAIL | 5 | 5 | |
| total | 5 | 5 | |
| case | ysh | ysh-cpp | description | 
| 0 | FAIL | FAIL | value.Expr test - positional test | 
| details | details | ||
| 1 | FAIL | FAIL | value.Expr test - named test | 
| details | details | ||
| 2 | FAIL | FAIL | assert builtin | 
| details | details | ||
| 3 | FAIL | FAIL | ysh --tool test file | 
| details | details | ||
| 4 | FAIL | FAIL | Describe Prototype | 
| details | details | 
0 passed, 0 OK, 0 not implemented, 0 BUG, 5 failed, 0 timeouts, 0 cases skipped 5 failed under osh
| ysh | 0 value.Expr test - positional test [ysh stdout] Expected '', got 'TODO\nparens\nexpr\n(Int) 43\n\nbrackets\nexpr\n(Expr) <Expr 0x7f1fbc501bd8>\n\nexpr in parens\nexpr\n(Expr) <Expr 0x7f1fbc517050>\n\n' stdout: TODO parens expr (Int) 43 brackets expr (Expr) <Expr 0x7f1fbc501bd8> expr in parens expr (Expr) <Expr 0x7f1fbc517050>stderr:  | 
| ysh-cpp | 0 value.Expr test - positional test [ysh-cpp stdout] Expected '', got 'TODO\nparens\nexpr\n(Int) 43\n\nbrackets\nexpr\n(Expr) <Expr 0x40c9>\n\nexpr in parens\nexpr\n(Expr) <Expr 0x5375>\n\n' stdout: TODO parens expr (Int) 43 brackets expr (Expr) <Expr 0x40c9> expr in parens expr (Expr) <Expr 0x5375>stderr:  | 
| ysh | 1 value.Expr test - named test [ysh stdout] Expected '', got 'TODO\nparens\nn\n(Int) 43\n\nbrackets\nn\n(Expr) <Expr 0x7ff3a33d5bd8>\n\nexpr in parens\nn\n(Expr) <Expr 0x7ff3a33eb050>\n\nno value\nn\n(Expr) <Expr 0x7ff3a3397170>\n\n' stdout: TODO parens n (Int) 43 brackets n (Expr) <Expr 0x7ff3a33d5bd8> expr in parens n (Expr) <Expr 0x7ff3a33eb050> no value n (Expr) <Expr 0x7ff3a3397170>stderr:  | 
| ysh-cpp | 1 value.Expr test - named test [ysh-cpp stdout] Expected '', got 'TODO\nparens\nn\n(Int) 43\n\nbrackets\n' [ysh-cpp status] Expected 0, got 1 stdout: TODO parens n (Int) 43 bracketsstderr: AddressSanitizer:DEADLYSIGNAL
=================================================================
==31945==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000004 (pc 0x55a1ca18cd1b bp 0x7ffc4d9c46a0 sp 0x7ffc4d9c45a0 T0)
==31945==The signal is caused by a READ memory access.
==31945==Hint: address points to the zero page.
    #0 0x55a1ca18cd1a in Dict<BigStr*, value_asdl::value_t*>::hash_and_probe(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:308
    #1 0x55a1ca0a91a2 in Dict<BigStr*, value_asdl::value_t*>::set(BigStr*, value_asdl::value_t*) /home/uke/oil/mycpp/gc_dict.h:394
    #2 0x55a1ca0539ec in func_proc::EvalTypedArgsToProc(expr_eval::ExprEvaluator*, state::MutableOpts*, syntax_asdl::command__Simple*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:53071
    #3 0x55a1c9f6b5fa in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:34663
    #4 0x55a1c9f76ae1 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35533
    #5 0x55a1c9f790b8 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:35776
    #6 0x55a1c9f7ac88 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:35934
    #7 0x55a1c9ee356e in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:23871
    #8 0x55a1ca08192f in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:56132
    #9 0x55a1c9e3a019 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12116
    #10 0x55a1c9e3a67b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12152
    #11 0x55a1ca0838e0 in main _gen/bin/oils_for_unix.mycpp.cc:56154
    #12 0x7f403f88c09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #13 0x55a1c9e13fc9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x192fc9)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/uke/oil/mycpp/gc_dict.h:308 in Dict<BigStr*, value_asdl::value_t*>::hash_and_probe(BigStr*) const
==31945==ABORTING
 | 
| ysh | 2 assert builtin [ysh stdout] Expected '', got 'TODO\nhi from assert\n(Expr) <Expr 0x7f07fda4fb90>\n\nvalue\n(Bool) true\n(Bool) true\n(Str) "default fail message"\nOK\nhi from assert\n(Expr) <Expr 0x7f07fda4fd40>\n\nvalue\n(Bool) false\n(Bool) false\n(Str) "default fail message"\n' [ysh status] Expected 0, got 3 stdout: TODO hi from assert (Expr) <Expr 0x7f07fda4fb90> value (Bool) true (Bool) true (Str) "default fail message" OK hi from assert (Expr) <Expr 0x7f07fda4fd40> value (Bool) false (Bool) false (Str) "default fail message"stderr:       var m = evalExpr(fail_message)
                       ^~~~~~~~~~~~
stdlib/testing.ysh:39: fatal: Arg 1 should be a Expr, got Str
 | 
| ysh-cpp | 2 assert builtin [ysh-cpp stdout] Expected '', got 'TODO\nhi from assert\n(Expr) <Expr 0x43bd>\n\nvalue\n(Bool) true\n(Bool) true\n(Str) "default fail message"\nOK\nhi from assert\n(Expr) <Expr 0x54bd>\n\nvalue\n(Bool) false\n(Bool) false\n(Str) "default fail message"\n' [ysh-cpp status] Expected 0, got 3 stdout: TODO hi from assert (Expr) <Expr 0x43bd> value (Bool) true (Bool) true (Str) "default fail message" OK hi from assert (Expr) <Expr 0x54bd> value (Bool) false (Bool) false (Str) "default fail message"stderr:       var m = evalExpr(fail_message)
                       ^~~~~~~~~~~~
stdlib/testing.ysh:39: fatal: Arg 1 should be a Expr, got Str
 | 
| ysh | 3 ysh --tool test file [ysh status] Expected 0, got 1 [ysh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 170, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 137, in AppBundleMain
    return shell.Main('ysh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1104, in Main
    raise AssertionError('TODO')
AssertionError: TODO
  $SH --tool test mytest.ysh
  ^~~
[ stdin ]:7: errexit PID 32003: command.Simple failed with status 1
 | 
| ysh-cpp | 3 ysh --tool test file [ysh-cpp status] Expected 0, got 134 stdout: stderr: ysh: _gen/bin/oils_for_unix.mycpp.cc:56108: int shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*): Assertion `0' failed. $SH --tool test mytest.ysh ^~~ [ stdin ]:7: errexit PID 32021: command.Simple failed with status 134  | 
| ysh | 4 Describe Prototype [ysh stdout] Expected 'TODO\n', got 'TODO\ndescribe\n' stdout: TODO describestderr:  | 
| ysh-cpp | 4 Describe Prototype [ysh-cpp stdout] Expected 'TODO\n', got 'TODO\ndescribe\n' stdout: TODO describestderr:  |