| status | osh | osh-cpp | |
| pass | 11 | 10 | |
| FAIL | 2 | 3 | |
| total | 13 | 13 | |
| case | osh | osh-cpp | description |
| 0 | pass | pass | fc -l lists history commands |
| 1 | pass | pass | fc -ln lists history commands without numbers |
| 2 | pass | pass | fc -lr lists history commands in reverse order |
| 3 | pass | pass | fc -lnr lists history commands without numbers in reverse order |
| 4 | pass | pass | fc -l lists history commands with default page size |
| 5 | pass | pass | fc -l [first] where first is an index |
| 6 | FAIL | FAIL | fc -l [first] where first is an offset from current command |
| details | details | ||
| 7 | pass | pass | fc -l [first] [last] where first and last are indexes |
| 8 | FAIL | FAIL | fc -l [first] [last] where first and last are offsets from current command |
| details | details | ||
| 9 | pass | pass | fc -l [first] [last] where first and last are reversed indexes |
| 10 | pass | pass | fc -lr [first] [last] where first and last are reversed indexes does not undo reverse |
| 11 | pass | FAIL | fc ignores too many args |
| details | |||
| 12 | pass | 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
| osh | 6 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: ^Dstderr: 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-cpp | 6 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: ^Dstderr: 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 | 8 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: ^Dstderr: 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-cpp | 8 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: ^Dstderr: 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-cpp | 11 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
|