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 0x7fb66d161cb0>\n\nexpr in parens\nexpr\n(Expr) <Expr 0x7fb66d1b2248>\n\n' stdout: TODO parens expr (Int) 43 brackets expr (Expr) <Expr 0x7fb66d161cb0> expr in parens expr (Expr) <Expr 0x7fb66d1b2248>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 0x40bd>\n\nexpr in parens\nexpr\n(Expr) <Expr 0x5369>\n\n' stdout: TODO parens expr (Int) 43 brackets expr (Expr) <Expr 0x40bd> expr in parens expr (Expr) <Expr 0x5369>stderr:  | 
| ysh | 1 value.Expr test - named test [ysh stdout] Expected '', got 'TODO\nparens\nn\n(Int) 43\n\nbrackets\nn\n(Expr) <Expr 0x7fc23ceeccb0>\n\nexpr in parens\nn\n(Expr) <Expr 0x7fc23cf3d248>\n\nno value\nn\n(Expr) <Expr 0x7fc23ceec9e0>\n\n' stdout: TODO parens n (Int) 43 brackets n (Expr) <Expr 0x7fc23ceeccb0> expr in parens n (Expr) <Expr 0x7fc23cf3d248> no value n (Expr) <Expr 0x7fc23ceec9e0>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
=================================================================
==31999==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000004 (pc 0x56402a29fb17 bp 0x7fffa4a82f80 sp 0x7fffa4a82e80 T0)
==31999==The signal is caused by a READ memory access.
==31999==Hint: address points to the zero page.
    #0 0x56402a29fb16 in Dict<BigStr*, value_asdl::value_t*>::hash_and_probe(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:308
    #1 0x56402a1bbf9e in Dict<BigStr*, value_asdl::value_t*>::set(BigStr*, value_asdl::value_t*) /home/uke/oil/mycpp/gc_dict.h:394
    #2 0x56402a1667e8 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:53159
    #3 0x56402a07d86a in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:34685
    #4 0x56402a088d51 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35555
    #5 0x56402a08b328 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:35798
    #6 0x56402a08cef8 in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:35956
    #7 0x564029ff57be in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:23892
    #8 0x56402a19472b in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:56220
    #9 0x564029f4c019 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12124
    #10 0x564029f4c67b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12160
    #11 0x56402a1966dc in main _gen/bin/oils_for_unix.mycpp.cc:56242
    #12 0x7f7ce385509a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #13 0x564029f25fc9 in _start (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x193fc9)
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
==31999==ABORTING
 | 
| ysh | 2 assert builtin [ysh stdout] Expected '', got 'TODO\nhi from assert\n(Expr) <Expr 0x7fbd7fc73d88>\n\nvalue\n(Bool) true\n(Bool) true\n(Str) "default fail message"\nOK\nhi from assert\n(Expr) <Expr 0x7fbd7fc73f38>\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 0x7fbd7fc73d88> value (Bool) true (Bool) true (Str) "default fail message" OK hi from assert (Expr) <Expr 0x7fbd7fc73f38> 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 0x43b1>\n\nvalue\n(Bool) true\n(Bool) true\n(Str) "default fail message"\nOK\nhi from assert\n(Expr) <Expr 0x54b1>\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 0x43b1> value (Bool) true (Bool) true (Str) "default fail message" OK hi from assert (Expr) <Expr 0x54b1> 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 32038: 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:56196: 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 32059: 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:  |