Results for ysh-stdlib-args.test.sh

statusyshysh-cpp
pass 80
FAIL 19
total99
caseyshysh-cppdescription
0pass FAIL args.ysh example usage
details
1pass FAIL Bool flag, positional args, more positional
details
2pass FAIL Test multiple ARGVs against a parser
details
3FAIL FAIL Basic help message
detailsdetails
4pass FAIL Compare parseArgs() vs Python argparse
details
5pass FAIL Define spec and print it
details
6pass FAIL Default values
details
7pass FAIL Duplicate argument/flag names
details
8pass FAIL Error cases
details
8 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

ysh-cpp0 args.ysh example usage

[ysh-cpp stdout] Expected 'Verbose false\n(Dict) {"src":"mysrc","max-procs":12,"dest":"mydest","files":["a","b","c"],"verbose":false,"invert":true}\n' Got ''
[ysh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==32703==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x564a05a835dd bp 0x7ffc2ca5b100 sp 0x7ffc2ca5b0e0 T0)
==32703==The signal is caused by a READ memory access.
==32703==Hint: address points to the zero page.
    #0 0x564a05a835dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367
    #1 0x564a05992fdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc)
    #2 0x564a05923419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352
    #3 0x564a059246dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435
    #4 0x564a05927544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698
    #5 0x564a05948543 in func_proc::_EvalPosArgs(expr_eval::ExprEvaluator*, List<syntax_asdl::expr_t*>*, List<value_asdl::value_t*>*) _gen/bin/oils_for_unix.mycpp.cc:54203
    #6 0x564a05949691 in func_proc::_EvalArgList(expr_eval::ExprEvaluator*, syntax_asdl::ArgList*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:54258
    #7 0x564a05921103 in expr_eval::ExprEvaluator::_EvalFuncCall(syntax_asdl::expr__FuncCall*) _gen/bin/oils_for_unix.mycpp.cc:51199
    #8 0x564a0592738d in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51686
    #9 0x564a0591e3b9 in expr_eval::ExprEvaluator::_EvalCompare(syntax_asdl::expr__Compare*) _gen/bin/oils_for_unix.mycpp.cc:51002
    #10 0x564a05926574 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51601
    #11 0x564a05917e2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494
    #12 0x564a0585b7db in cmd_eval::CommandEvaluator::_EvalCondition(syntax_asdl::condition_t*, syntax_asdl::Token*) _gen/bin/oils_for_unix.mycpp.cc:35450
    #13 0x564a0586848e in cmd_eval::CommandEvaluator::_DoIf(syntax_asdl::command__If*) _gen/bin/oils_for_unix.mycpp.cc:36348
    #14 0x564a0586c99c in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36735
    #15 0x564a0586e1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #16 0x564a0586ef78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #17 0x564a058684ff in cmd_eval::CommandEvaluator::_DoIf(syntax_asdl::command__If*) _gen/bin/oils_for_unix.mycpp.cc:36350
    #18 0x564a0586c99c in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36735
    #19 0x564a0586e1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #20 0x564a0586ef78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #21 0x564a0586c527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #22 0x564a0586e1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #23 0x564a05871e8e in cmd_eval::CommandEvaluator::RunProc(value_asdl::value__Proc*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:37204
    #24 0x564a057c4a7f in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:23752
    #25 0x564a0585a236 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:35362
    #26 0x564a0586005b in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35733
    #27 0x564a0586b36b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
    #28 0x564a0586e1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #29 0x564a0586ff0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024
    #30 0x564a057cddb9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417
    #31 0x564a059793cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393
    #32 0x564a0571f429 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12377
    #33 0x564a0571fa8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413
    #34 0x564a0597b522 in main _gen/bin/oils_for_unix.mycpp.cc:57415
    #35 0x7f15a369c09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #36 0x564a056f8fc9 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
==32703==ABORTING
ysh-cpp1 Bool flag, positional args, more positional

[ysh-cpp stdout] Expected '(Dict) {"verbose":true,"src":"src/path","dst":"dst/path","more":["x","y","z"]}\nsrc/path -> dst/path\nx\ny\nz\n' Got ''
[ysh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==32746==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x55aecbabc5dd bp 0x7ffc758f6470 sp 0x7ffc758f6450 T0)
==32746==The signal is caused by a READ memory access.
==32746==Hint: address points to the zero page.
    #0 0x55aecbabc5dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367
    #1 0x55aecb9cbfdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc)
    #2 0x55aecb95c419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352
    #3 0x55aecb95d6dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435
    #4 0x55aecb960544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698
    #5 0x55aecb981543 in func_proc::_EvalPosArgs(expr_eval::ExprEvaluator*, List<syntax_asdl::expr_t*>*, List<value_asdl::value_t*>*) _gen/bin/oils_for_unix.mycpp.cc:54203
    #6 0x55aecb982691 in func_proc::_EvalArgList(expr_eval::ExprEvaluator*, syntax_asdl::ArgList*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:54258
    #7 0x55aecb95a103 in expr_eval::ExprEvaluator::_EvalFuncCall(syntax_asdl::expr__FuncCall*) _gen/bin/oils_for_unix.mycpp.cc:51199
    #8 0x55aecb96038d in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51686
    #9 0x55aecb9573b9 in expr_eval::ExprEvaluator::_EvalCompare(syntax_asdl::expr__Compare*) _gen/bin/oils_for_unix.mycpp.cc:51002
    #10 0x55aecb95f574 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51601
    #11 0x55aecb950e2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494
    #12 0x55aecb8947db in cmd_eval::CommandEvaluator::_EvalCondition(syntax_asdl::condition_t*, syntax_asdl::Token*) _gen/bin/oils_for_unix.mycpp.cc:35450
    #13 0x55aecb8a148e in cmd_eval::CommandEvaluator::_DoIf(syntax_asdl::command__If*) _gen/bin/oils_for_unix.mycpp.cc:36348
    #14 0x55aecb8a599c in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36735
    #15 0x55aecb8a71a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #16 0x55aecb8a7f78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #17 0x55aecb8a14ff in cmd_eval::CommandEvaluator::_DoIf(syntax_asdl::command__If*) _gen/bin/oils_for_unix.mycpp.cc:36350
    #18 0x55aecb8a599c in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36735
    #19 0x55aecb8a71a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #20 0x55aecb8a7f78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #21 0x55aecb8a5527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #22 0x55aecb8a71a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #23 0x55aecb8aae8e in cmd_eval::CommandEvaluator::RunProc(value_asdl::value__Proc*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:37204
    #24 0x55aecb7fda7f in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:23752
    #25 0x55aecb893236 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:35362
    #26 0x55aecb89905b in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35733
    #27 0x55aecb8a436b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
    #28 0x55aecb8a71a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #29 0x55aecb8a8f0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024
    #30 0x55aecb806db9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417
    #31 0x55aecb9b23cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393
    #32 0x55aecb758429 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12377
    #33 0x55aecb758a8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413
    #34 0x55aecb9b4522 in main _gen/bin/oils_for_unix.mycpp.cc:57415
    #35 0x7f863950609a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #36 0x55aecb731fc9 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
==32746==ABORTING
ysh-cpp2 Test multiple ARGVs against a parser

[ysh-cpp stdout] Expected '---------- -v --count 120 example.sh ----------\n$ bin/ysh example.sh -v --count 120 example.sh\n(Dict) {"verbose":true,"count":120,"file":"example.sh"}\n\n---------- -v --count 120 example.sh -v ----------\n$ bin/ysh example.sh -v --count 120 example.sh -v\n(Dict) {"verbose":true,"count":120,"file":"example.sh"}\n\n---------- -v --count 120 example.sh -v --count 150 ----------\n$ bin/ysh example.sh -v --count 120 example.sh -v --count 150\n(Dict) {"verbose":true,"count":150,"file":"example.sh"}\n\n' Got ''
[ysh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==32797==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x55f9fd9b15dd bp 0x7ffee4b0a780 sp 0x7ffee4b0a760 T0)
==32797==The signal is caused by a READ memory access.
==32797==Hint: address points to the zero page.
    #0 0x55f9fd9b15dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367
    #1 0x55f9fd8c0fdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc)
    #2 0x55f9fd851419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352
    #3 0x55f9fd8526dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435
    #4 0x55f9fd855544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698
    #5 0x55f9fd8547b9 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51620
    #6 0x55f9fd845e2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494
    #7 0x55f9fd792c01 in cmd_eval::CommandEvaluator::_DoForEach(syntax_asdl::command__ForEach*) _gen/bin/oils_for_unix.mycpp.cc:36077
    #8 0x55f9fd79a705 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36705
    #9 0x55f9fd79c1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #10 0x55f9fd79cf78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #11 0x55f9fd79a527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #12 0x55f9fd79c1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #13 0x55f9fd79fe8e in cmd_eval::CommandEvaluator::RunProc(value_asdl::value__Proc*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:37204
    #14 0x55f9fd6f2a7f in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:23752
    #15 0x55f9fd788236 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:35362
    #16 0x55f9fd78e05b in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35733
    #17 0x55f9fd79936b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
    #18 0x55f9fd79c1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #19 0x55f9fd79df0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024
    #20 0x55f9fd6fbdb9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417
    #21 0x55f9fd8a73cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393
    #22 0x55f9fd64d429 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12377
    #23 0x55f9fd64da8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413
    #24 0x55f9fd8a9522 in main _gen/bin/oils_for_unix.mycpp.cc:57415
    #25 0x7fc0032af09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #26 0x55f9fd626fc9 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
==32797==ABORTING
ysh3 Basic help message

[ysh stdout] Expected 'usage: program-name [-h] [-v] src dst\n\nReference Implementation\n\npositional arguments:\n src\n dst\n\noptions:\n -h, --help show this help message and exit\n -v, --verbose Verbose\n' Got ''
[ysh status] Expected 0, got 127

stdout:
stderr: 
    description '''
    ^~~~~~~~~~~
[ stdin ]:4: 'description' not found (OILS-ERR-100)
[ stdin ]:4: errexit PID 32813: command.Simple failed with status 127
ysh-cpp3 Basic help message

[ysh-cpp stdout] Expected 'usage: program-name [-h] [-v] src dst\n\nReference Implementation\n\npositional arguments:\n src\n dst\n\noptions:\n -h, --help show this help message and exit\n -v, --verbose Verbose\n' Got ''
[ysh-cpp status] Expected 0, got 127

stdout:
stderr: 
    description '''
    ^~~~~~~~~~~
[ stdin ]:4: 'description' not found (OILS-ERR-100)
[ stdin ]:4: errexit PID 32841: command.Simple failed with status 127
ysh-cpp4 Compare parseArgs() vs Python argparse

[ysh-cpp stdout] Expected '---------- -v --count 120 example.sh ----------\n$ bin/ysh example.sh -v --count 120 example.sh\n(Dict) {"verbose":true,"count":120,"file":"example.sh"}\n\n$ python3 example.py -v --count 120 example.sh\nNamespace(filename=\'example.sh\', count=\'120\', verbose=True)\n\n---------- -v --count 120 example.sh -v ----------\n$ bin/ysh example.sh -v --count 120 example.sh -v\n(Dict) {"verbose":true,"count":120,"file":"example.sh"}\n\n$ python3 example.py -v --count 120 example.sh -v\nNamespace(filename=\'example.sh\', count=\'120\', verbose=True)\n\n---------- -v --count 120 example.sh -v --count 150 ----------\n$ bin/ysh example.sh -v --count 120 example.sh -v --count 150\n(Dict) {"verbose":true,"count":150,"file":"example.sh"}\n\n$ python3 example.py -v --count 120 example.sh -v --count 150\nNamespace(filename=\'example.sh\', count=\'150\', verbose=True)\n\n' Got '---------- -v --count 120 example.sh ----------\n$ bin/ysh example.sh -v --count 120 example.sh\n'
[ysh-cpp status] Expected 0, got 1

stdout:
----------  -v --count 120 example.sh  ----------
$ bin/ysh example.sh -v --count 120 example.sh
stderr:
AddressSanitizer:DEADLYSIGNAL
=================================================================
==32882==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x55cb638905dd bp 0x7fff1488da70 sp 0x7fff1488da50 T0)
==32882==The signal is caused by a READ memory access.
==32882==Hint: address points to the zero page.
    #0 0x55cb638905dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367
    #1 0x55cb6379ffdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc)
    #2 0x55cb63730419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352
    #3 0x55cb637316dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435
    #4 0x55cb63734544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698
    #5 0x55cb63724e2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494
    #6 0x55cb63671c01 in cmd_eval::CommandEvaluator::_DoForEach(syntax_asdl::command__ForEach*) _gen/bin/oils_for_unix.mycpp.cc:36077
    #7 0x55cb63679705 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36705
    #8 0x55cb6367b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #9 0x55cb6367bf78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #10 0x55cb636754ff in cmd_eval::CommandEvaluator::_DoIf(syntax_asdl::command__If*) _gen/bin/oils_for_unix.mycpp.cc:36350
    #11 0x55cb6367999c in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36735
    #12 0x55cb6367b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #13 0x55cb6367bf78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #14 0x55cb63679527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #15 0x55cb6367b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #16 0x55cb63670d98 in cmd_eval::CommandEvaluator::_DoWhileUntil(syntax_asdl::command__WhileUntil*) _gen/bin/oils_for_unix.mycpp.cc:35994
    #17 0x55cb63679643 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36699
    #18 0x55cb6367b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #19 0x55cb6367bf78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #20 0x55cb63679527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #21 0x55cb6367b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #22 0x55cb6375d6e5 in func_proc::CallUserFunc(value_asdl::value__Func*, typed_args::Reader*, state::Mem*, cmd_eval::CommandEvaluator*) _gen/bin/oils_for_unix.mycpp.cc:54653
    #23 0x55cb6372d8b6 in expr_eval::ExprEvaluator::_CallFunc(value_asdl::value_t*, typed_args::Reader*) _gen/bin/oils_for_unix.mycpp.cc:51163
    #24 0x55cb6372e5cd in expr_eval::ExprEvaluator::_EvalFuncCall(syntax_asdl::expr__FuncCall*) _gen/bin/oils_for_unix.mycpp.cc:51218
    #25 0x55cb6373438d in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51686
    #26 0x55cb63755543 in func_proc::_EvalPosArgs(expr_eval::ExprEvaluator*, List<syntax_asdl::expr_t*>*, List<value_asdl::value_t*>*) _gen/bin/oils_for_unix.mycpp.cc:54203
    #27 0x55cb637574d6 in func_proc::EvalTypedArgsToProc(expr_eval::ExprEvaluator*, state::MutableOpts*, syntax_asdl::command__Simple*, runtime_asdl::ProcArgs*) _gen/bin/oils_for_unix.mycpp.cc:54305
    #28 0x55cb6366cca5 in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35707
    #29 0x55cb6367836b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
    #30 0x55cb6367b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #31 0x55cb6367bf78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #32 0x55cb63679527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #33 0x55cb6367b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #34 0x55cb63672d3a in cmd_eval::CommandEvaluator::_DoForEach(syntax_asdl::command__ForEach*) _gen/bin/oils_for_unix.mycpp.cc:36196
    #35 0x55cb63679705 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36705
    #36 0x55cb6367b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #37 0x55cb6367cf0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024
    #38 0x55cb635dadb9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417
    #39 0x55cb637863cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393
    #40 0x55cb6352c429 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12377
    #41 0x55cb6352ca8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413
    #42 0x55cb63788522 in main _gen/bin/oils_for_unix.mycpp.cc:57415
    #43 0x7f09567a509a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #44 0x55cb63505fc9 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
==32882==ABORTING
ysh-cpp5 Define spec and print it

[ysh-cpp stdout] Expected '{\n "flags": [\n {\n "short": "-v",\n "long": "--verbose",\n "name": "verbose",\n "type": "bool",\n "default": false,\n "help": null\n }\n ],\n "args": [\n {\n "name": "src",\n "help": null\n },\n {\n "name": "dst",\n "help": null\n }\n ],\n "rest": "more"\n}\n' Got ''
[ysh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==32923==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x561d9ec9f5dd bp 0x7ffdcac94fc0 sp 0x7ffdcac94fa0 T0)
==32923==The signal is caused by a READ memory access.
==32923==Hint: address points to the zero page.
    #0 0x561d9ec9f5dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367
    #1 0x561d9ebaefdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc)
    #2 0x561d9eb3f419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352
    #3 0x561d9eb406dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435
    #4 0x561d9eb43544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698
    #5 0x561d9eb64543 in func_proc::_EvalPosArgs(expr_eval::ExprEvaluator*, List<syntax_asdl::expr_t*>*, List<value_asdl::value_t*>*) _gen/bin/oils_for_unix.mycpp.cc:54203
    #6 0x561d9eb65691 in func_proc::_EvalArgList(expr_eval::ExprEvaluator*, syntax_asdl::ArgList*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:54258
    #7 0x561d9eb3d103 in expr_eval::ExprEvaluator::_EvalFuncCall(syntax_asdl::expr__FuncCall*) _gen/bin/oils_for_unix.mycpp.cc:51199
    #8 0x561d9eb4338d in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51686
    #9 0x561d9eb3a3b9 in expr_eval::ExprEvaluator::_EvalCompare(syntax_asdl::expr__Compare*) _gen/bin/oils_for_unix.mycpp.cc:51002
    #10 0x561d9eb42574 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51601
    #11 0x561d9eb33e2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494
    #12 0x561d9ea777db in cmd_eval::CommandEvaluator::_EvalCondition(syntax_asdl::condition_t*, syntax_asdl::Token*) _gen/bin/oils_for_unix.mycpp.cc:35450
    #13 0x561d9ea8448e in cmd_eval::CommandEvaluator::_DoIf(syntax_asdl::command__If*) _gen/bin/oils_for_unix.mycpp.cc:36348
    #14 0x561d9ea8899c in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36735
    #15 0x561d9ea8a1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #16 0x561d9ea8af78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #17 0x561d9ea844ff in cmd_eval::CommandEvaluator::_DoIf(syntax_asdl::command__If*) _gen/bin/oils_for_unix.mycpp.cc:36350
    #18 0x561d9ea8899c in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36735
    #19 0x561d9ea8a1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #20 0x561d9ea8af78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #21 0x561d9ea88527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #22 0x561d9ea8a1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #23 0x561d9ea8de8e in cmd_eval::CommandEvaluator::RunProc(value_asdl::value__Proc*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:37204
    #24 0x561d9e9e0a7f in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:23752
    #25 0x561d9ea76236 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:35362
    #26 0x561d9ea7c05b in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35733
    #27 0x561d9ea8736b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
    #28 0x561d9ea8a1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #29 0x561d9ea8bf0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024
    #30 0x561d9e9e9db9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417
    #31 0x561d9eb953cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393
    #32 0x561d9e93b429 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12377
    #33 0x561d9e93ba8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413
    #34 0x561d9eb97522 in main _gen/bin/oils_for_unix.mycpp.cc:57415
    #35 0x7fd1b8cd709a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #36 0x561d9e914fc9 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
==32923==ABORTING
ysh-cpp6 Default values

[ysh-cpp stdout] Expected '(Dict) {"sanitize":false,"verbose":false,"max-procs":null}\n' Got ''
[ysh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==32955==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x55e93bd595dd bp 0x7fffbc08cf30 sp 0x7fffbc08cf10 T0)
==32955==The signal is caused by a READ memory access.
==32955==Hint: address points to the zero page.
    #0 0x55e93bd595dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367
    #1 0x55e93bc68fdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc)
    #2 0x55e93bbf9419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352
    #3 0x55e93bbfa6dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435
    #4 0x55e93bbfd544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698
    #5 0x55e93bbfc7b9 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51620
    #6 0x55e93bbede2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494
    #7 0x55e93bb3ac01 in cmd_eval::CommandEvaluator::_DoForEach(syntax_asdl::command__ForEach*) _gen/bin/oils_for_unix.mycpp.cc:36077
    #8 0x55e93bb42705 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36705
    #9 0x55e93bb441a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #10 0x55e93bb44f78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #11 0x55e93bb42527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #12 0x55e93bb441a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #13 0x55e93bb47e8e in cmd_eval::CommandEvaluator::RunProc(value_asdl::value__Proc*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:37204
    #14 0x55e93ba9aa7f in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:23752
    #15 0x55e93bb30236 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:35362
    #16 0x55e93bb3605b in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35733
    #17 0x55e93bb4136b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
    #18 0x55e93bb441a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #19 0x55e93bb45f0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024
    #20 0x55e93baa3db9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417
    #21 0x55e93bc4f3cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393
    #22 0x55e93b9f5429 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12377
    #23 0x55e93b9f5a8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413
    #24 0x55e93bc51522 in main _gen/bin/oils_for_unix.mycpp.cc:57415
    #25 0x7fcb3e16a09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #26 0x55e93b9cefc9 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
==32955==ABORTING
ysh-cpp7 Duplicate argument/flag names

[ysh-cpp stdout] Expected 'status=3\nstatus=3\nstatus=3\n', got ''
[ysh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==32997==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x564b9de805dd bp 0x7ffcc5acad20 sp 0x7ffcc5acad00 T0)
==32997==The signal is caused by a READ memory access.
==32997==Hint: address points to the zero page.
    #0 0x564b9de805dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367
    #1 0x564b9dd8ffdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc)
    #2 0x564b9dd20419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352
    #3 0x564b9dd216dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435
    #4 0x564b9dd24544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698
    #5 0x564b9dd237b9 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51620
    #6 0x564b9dd14e2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494
    #7 0x564b9dc61c01 in cmd_eval::CommandEvaluator::_DoForEach(syntax_asdl::command__ForEach*) _gen/bin/oils_for_unix.mycpp.cc:36077
    #8 0x564b9dc69705 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36705
    #9 0x564b9dc6b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #10 0x564b9dc6bf78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #11 0x564b9dc69527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #12 0x564b9dc6b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #13 0x564b9dc6ee8e in cmd_eval::CommandEvaluator::RunProc(value_asdl::value__Proc*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:37204
    #14 0x564b9dbc1a7f in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:23752
    #15 0x564b9dc57236 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:35362
    #16 0x564b9dc5d05b in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35733
    #17 0x564b9dc6836b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
    #18 0x564b9dc6b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #19 0x564b9dc6bf78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #20 0x564b9dc69527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #21 0x564b9dc6b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #22 0x564b9dc6d7c0 in cmd_eval::CommandEvaluator::EvalCommand(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:37081
    #23 0x564b9db2eb70 in error_ysh::Try::Run(runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:13651
    #24 0x564b9dbc064c in executor::ShellExecutor::RunBuiltin(int, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:23661
    #25 0x564b9dbc1ea5 in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:23771
    #26 0x564b9dc57236 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:35362
    #27 0x564b9dc5d05b in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35733
    #28 0x564b9dc6836b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
    #29 0x564b9dc6b1a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #30 0x564b9dc6cf0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024
    #31 0x564b9dbcadb9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417
    #32 0x564b9dd763cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393
    #33 0x564b9db1c429 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12377
    #34 0x564b9db1ca8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413
    #35 0x564b9dd78522 in main _gen/bin/oils_for_unix.mycpp.cc:57415
    #36 0x7f4ca98e809a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #37 0x564b9daf5fc9 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
==32997==ABORTING
ysh-cpp8 Error cases

[ysh-cpp stdout] Expected 'status=2\nstatus=2\nstatus=2\nstatus=2\nstatus=2\nstatus=2\n' Got ''
[ysh-cpp status] Expected 0, got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==33031==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x558d7e5c85dd bp 0x7ffcd4a36ee0 sp 0x7ffcd4a36ec0 T0)
==33031==The signal is caused by a READ memory access.
==33031==Hint: address points to the zero page.
    #0 0x558d7e5c85dc in Dict<BigStr*, value_asdl::value_t*>::find_kv_index(BigStr*) const /home/uke/oil/mycpp/gc_dict.h:367
    #1 0x558d7e4d7fdc in Dict<BigStr*, value_asdl::value_t*>::get(BigStr*) const (/home/uke/oil/_bin/cxx-asan/oils-for-unix+0x437fdc)
    #2 0x558d7e468419 in expr_eval::ExprEvaluator::_EvalDot(syntax_asdl::Attribute*, value_asdl::value_t*) _gen/bin/oils_for_unix.mycpp.cc:51352
    #3 0x558d7e4696dd in expr_eval::ExprEvaluator::_EvalAttribute(syntax_asdl::Attribute*) _gen/bin/oils_for_unix.mycpp.cc:51435
    #4 0x558d7e46c544 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51698
    #5 0x558d7e46b7b9 in expr_eval::ExprEvaluator::_EvalExpr(syntax_asdl::expr_t*) _gen/bin/oils_for_unix.mycpp.cc:51620
    #6 0x558d7e45ce2d in expr_eval::ExprEvaluator::EvalExpr(syntax_asdl::expr_t*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:50494
    #7 0x558d7e3a9c01 in cmd_eval::CommandEvaluator::_DoForEach(syntax_asdl::command__ForEach*) _gen/bin/oils_for_unix.mycpp.cc:36077
    #8 0x558d7e3b1705 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36705
    #9 0x558d7e3b31a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #10 0x558d7e3b3f78 in cmd_eval::CommandEvaluator::_ExecuteList(List<syntax_asdl::command_t*>*) _gen/bin/oils_for_unix.mycpp.cc:36918
    #11 0x558d7e3b1527 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36688
    #12 0x558d7e3b31a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #13 0x558d7e3b6e8e in cmd_eval::CommandEvaluator::RunProc(value_asdl::value__Proc*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:37204
    #14 0x558d7e309a7f in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:23752
    #15 0x558d7e39f236 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:35362
    #16 0x558d7e3a505b in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:35733
    #17 0x558d7e3b036b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:36574
    #18 0x558d7e3b31a6 in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:36853
    #19 0x558d7e3b4f0e in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:37024
    #20 0x558d7e312db9 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:24417
    #21 0x558d7e4be3cd in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:57393
    #22 0x558d7e264429 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12377
    #23 0x558d7e264a8b in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:12413
    #24 0x558d7e4c0522 in main _gen/bin/oils_for_unix.mycpp.cc:57415
    #25 0x7fb3e146009a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #26 0x558d7e23dfc9 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
==33031==ABORTING