Results for builtin-fc.test.sh

statusoshosh-cpp
pass 1110
FAIL 23
total1313
caseoshosh-cppdescription
0pass pass fc -l lists history commands
1pass pass fc -ln lists history commands without numbers
2pass pass fc -lr lists history commands in reverse order
3pass pass fc -lnr lists history commands without numbers in reverse order
4pass pass fc -l lists history commands with default page size
5pass pass fc -l [first] where first is an index
6FAIL FAIL fc -l [first] where first is an offset from current command
detailsdetails
7pass pass fc -l [first] [last] where first and last are indexes
8FAIL FAIL fc -l [first] [last] where first and last are offsets from current command
detailsdetails
9pass pass fc -l [first] [last] where first and last are reversed indexes
10pass pass fc -lr [first] [last] where first and last are reversed indexes does not undo reverse
11pass FAIL fc ignores too many args
details
12pass pass fc errors out on too many args with strict_arg_parse
21 passed, 0 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

osh6 fc -l [first] where first is an offset from current command

[osh stdout] Expected '2\t echo 1\n3\t echo 2\n4\t echo 3\n^D\n' Got '^D\n'

stdout:
^D
stderr:
osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$   fc -l -3
        ^~
[ stdin -i ]:6: 'fc' doesn't accept flag -3
osh-0.36$ osh-0.36$ 
osh-cpp6 fc -l [first] where first is an offset from current command

[osh-cpp stdout] Expected '2\t echo 1\n3\t echo 2\n4\t echo 3\n^D\n' Got '^D\n'

stdout:
^D
stderr:
osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$   fc -l -3
        ^~
[ stdin -i ]:6: 'fc' doesn't accept flag -3
osh-0.36$ osh-0.36$ 
osh8 fc -l [first] [last] where first and last are offsets from current command

[osh stdout] Expected '2\t echo 1\n3\t echo 2\n^D\n' Got '^D\n'

stdout:
^D
stderr:
osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$   fc -l -3 -2
        ^~
[ stdin -i ]:6: 'fc' doesn't accept flag -3
osh-0.36$ osh-0.36$ 
osh-cpp8 fc -l [first] [last] where first and last are offsets from current command

[osh-cpp stdout] Expected '2\t echo 1\n3\t echo 2\n^D\n' Got '^D\n'

stdout:
^D
stderr:
osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$ osh-0.36$   fc -l -3 -2
        ^~
[ stdin -i ]:6: 'fc' doesn't accept flag -3
osh-0.36$ osh-0.36$ 
osh-cpp11 fc ignores too many args

[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==10281==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x5653385a1ef1 bp 0x7ffdb14b76c0 sp 0x7ffdb14b7230 T0)
==10281==The signal is caused by a READ memory access.
==10281==Hint: this fault was caused by a dereference of a high value address (see register values below).  Disassemble the provided pc to learn which register was used.
    #0 0x5653385a1ef1 in _StrFormat mycpp/gc_str.cc:624
    #1 0x5653385a2bde in StrFormat(char const*, ...) mycpp/gc_str.cc:683
    #2 0x565338223ba0 in readline_osh::Fc::Run(runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:20859
    #3 0x5653381cdb50 in vm::_Executor::_RunBuiltinProc(vm::_Builtin*, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:11085
    #4 0x5653381cd824 in vm::_Executor::RunBuiltin(int, runtime_asdl::cmd_value__Argv*) _gen/bin/oils_for_unix.mycpp.cc:11066
    #5 0x56533824ba46 in executor::ShellExecutor::_RunSimpleCommand(BigStr*, syntax_asdl::loc_t*, runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:24715
    #6 0x5653381cd350 in vm::_Executor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:11038
    #7 0x5653382aec66 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) _gen/bin/oils_for_unix.mycpp.cc:36604
    #8 0x5653382b372e in cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37013
    #9 0x5653382bc4f6 in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37829
    #10 0x5653382bed0f in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38105
    #11 0x5653382b613b in cmd_eval::CommandEvaluator::_DoAndOr(syntax_asdl::command__AndOr*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37208
    #12 0x5653382bd47b in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:37938
    #13 0x5653382bed0f in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:38105
    #14 0x5653382bffcc in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:38270
    #15 0x565338253afb in main_loop::Batch2(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:25459
    #16 0x5653382535e1 in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:25413
    #17 0x565338374a3d in shell::Main(BigStr*, args::Reader*, Dict<BigStr*, BigStr*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*, bool) _gen/bin/oils_for_unix.mycpp.cc:58260
    #18 0x5653381d1754 in oils_for_unix::AppBundleMain(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:11601
    #19 0x5653381d1bce in oils_for_unix::main(List<BigStr*>*) _gen/bin/oils_for_unix.mycpp.cc:11633
    #20 0x5653381af88d in main (/home/uke/oil/_bin/cxx-asan/bin/oils_for_unix.mycpp+0x13988d)
    #21 0x7f3858194249  (/lib/x86_64-linux-gnu/libc.so.6+0x27249)
    #22 0x7f3858194304 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27304)
    #23 0x5653381aeff0 in _start (/home/uke/oil/_bin/cxx-asan/bin/oils_for_unix.mycpp+0x138ff0)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV mycpp/gc_str.cc:624 in _StrFormat
==10281==ABORTING