Results for oil-proc.test.sh

statusoshosh-cpp
pass 1710
FAIL 07
total1717
caseoshosh-cppdescription
0pass FAIL Open proc (any number of args)
details
1pass pass Closed proc with no args, passed too many
2pass pass Open proc has "$@"
3pass pass Closed proc doesn't have "$@"
4pass FAIL Proc with default args
details
5pass FAIL Proc with explicit args
details
6pass pass Proc with varargs
7pass pass varargs 2
8pass pass Proc name-with-hyphen
9pass FAIL Proc with block arg
details
10pass FAIL proc returning wrong type
details
11pass FAIL proc returning invalid string
details
12pass FAIL Out param / setref
details
13pass pass 'return' doesn't accept expressions
14pass pass procs are in same namespace as shell functions
15pass pass Nested proc is disallowed at parse time
16pass pass Procs defined inside compound statements (with redefine_proc)
27 passed, 0 OK, 0 not implemented, 0 BUG, 7 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh-cpp0 Open proc (any number of args)

[osh-cpp stdout] Expected 'status=42\n', got 'status=0\n'

stdout:
status=0
stderr:
osh-cpp4 Proc with default args

[osh-cpp stdout] Expected 'x=foo\n', got ''
[osh-cpp status] Expected 0, got 1

stdout:
stderr: 
ASAN:DEADLYSIGNAL
=================================================================
==6119==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x55e49bdeb1b8 bp 0x7ffc71cf47b0 sp 0x7ffc71cf4780 T0)
==6119==The signal is caused by a READ memory access.
==6119==Hint: address points to the zero page.
    #0 0x55e49bdeb1b7 in List<runtime_asdl::value_t*>::index_(int) (/home/andy/git/oilshell/oil/_bin/cxx-asan/oils-for-unix+0x34f1b7)
    #1 0x55e49bcd02b0 in cmd_eval::CommandEvaluator::RunProc(runtime_asdl::Proc*, List<Str*>*, syntax_asdl::loc_t*) _gen/bin/oils_for_unix.mycpp.cc:27471
    #2 0x55e49bbf8366 in executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, bool, bool) _gen/bin/oils_for_unix.mycpp.cc:11796
    #3 0x55e49bcc1c56 in cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, bool) _gen/bin/oils_for_unix.mycpp.cc:26386
    #4 0x55e49bcc552a in cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) _gen/bin/oils_for_unix.mycpp.cc:26592
    #5 0x55e49bccc2cd in cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) _gen/bin/oils_for_unix.mycpp.cc:27150
    #6 0x55e49bccdead in cmd_eval::CommandEvaluator::ExecuteAndCatch(syntax_asdl::command_t*, int) _gen/bin/oils_for_unix.mycpp.cc:27300
    #7 0x55e49bbffecd in main_loop::Batch(cmd_eval::CommandEvaluator*, cmd_parse::CommandParser*, ui::ErrorFormatter*, int) _gen/bin/oils_for_unix.mycpp.cc:12348
    #8 0x55e49bd6abd8 in shell::Main(Str*, args::Reader*, Dict<Str*, Str*>*, bool, pyutil::_ResourceLoader*, py_readline::Readline*) _gen/bin/oils_for_unix.mycpp.cc:39671
    #9 0x55e49bbcd256 in oils_for_unix::AppBundleMain(List<Str*>*) _gen/bin/oils_for_unix.mycpp.cc:9166
    #10 0x55e49bbcd957 in oils_for_unix::main(List<Str*>*) _gen/bin/oils_for_unix.mycpp.cc:9227
    #11 0x55e49bd6f17f in main _gen/bin/oils_for_unix.mycpp.cc:39944
    #12 0x7fd18da74c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
    #13 0x55e49bba9a39 in _start (/home/andy/git/oilshell/oil/_bin/cxx-asan/oils-for-unix+0x10da39)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/home/andy/git/oilshell/oil/_bin/cxx-asan/oils-for-unix+0x34f1b7) in List<runtime_asdl::value_t*>::index_(int)
==6119==ABORTING
osh-cpp5 Proc with explicit args

[osh-cpp stdout] Expected 'a b c\nstatus=42\n', got 'a b c\nstatus=0\n'

stdout:
a b c
status=0
stderr:
osh-cpp9 Proc with block arg

[osh-cpp stdout] Expected 'F\nG\n', got ''
[osh-cpp status] Expected 0, got 2

stdout:
stderr: 
  proc f(x, y, block Block) {
                     ^~~~~
[ stdin ]:3: proc param types should be Expr or Block
osh-cpp10 proc returning wrong type

[osh-cpp status] Expected 1, got 0

stdout:
stderr: 
osh-cpp11 proc returning invalid string

[osh-cpp status] Expected 1, got 0

stdout:
stderr: 
osh-cpp12 Out param / setref

[osh-cpp stdout] Expected 'myvar=value\nmyvar=PREFIX-zzz\n', got 'myvar=\nmyvar=\n'

stdout:
myvar=
myvar=
stderr: