Results for builtin-process.test.sh

statusoshosh-cpp
pass 2424
ok 10
FAIL 12
total2626
caseoshosh-cppdescription
0pass pass exec builtin
1pass pass exec builtin with redirects
2pass pass exec builtin with here doc
3pass pass exec builtin accepts --
4pass pass exec -- 2>&1
5pass pass exec -a sets argv[0]
6pass pass Exit out of function
7pass pass Exit builtin with invalid arg
8pass pass Exit builtin with too many args
9pass pass time with brace group argument
10pass pass ulimit with no flags is like -f
11pass pass ulimit too many args
12pass pass ulimit negative flag
13pass pass ulimit negative arg
14pass pass ulimit -a doesn't take arg
15pass pass ulimit doesn't accept multiple flags - reduce confusion between shells
16pass pass YSH readability: ulimit --all the same as ulimit -a
17pass pass ulimit accepts 'unlimited'
18pass pass ulimit of 2**32, 2**31 (int overflow)
19pass pass ulimit that is 64 bits
20pass pass arg that would overflow 64 bits is detected
21pass pass ulimit -f 1 prevents files larger 512 bytes
22ok FAIL write big file with ulimit
detailsdetails
23pass pass ulimit -S for soft limit (default), -H for hard limit
24pass pass Changing resource limit is denied
25FAIL FAIL ulimit -n limits file descriptors
detailsdetails
48 passed, 1 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

osh22 write big file with ulimit

stdout:
inner=1
outer=0
stderr:
big.sh:2: echo builtin I/O error: File too large
osh-cpp22 write big file with ulimit

[osh-cpp stdout] Expected 'inner=1\nouter=0\n' Got 'outer=153\n'

stdout:
outer=153
stderr:
File size limit exceeded (core dumped)
osh25 ulimit -n limits file descriptors

[osh stdout] Expected 'status=0\nstatus=1\n' Got 'status=1\nstatus=1\n'

stdout:
status=1
status=1
stderr:
[ -c flag ]:1: I/O error applying redirect: Invalid argument
  ulimit -n 0; echo hi >out
                       ^
[ -c flag ]:1: Can't open 'out': Too many open files
[ -c flag ]:1: I/O error applying redirect: Too many open files
osh-cpp25 ulimit -n limits file descriptors

[osh-cpp stdout] Expected 'status=0\nstatus=1\n' Got 'status=1\nstatus=1\n'

stdout:
status=1
status=1
stderr:
[ -c flag ]:1: I/O error applying redirect: Invalid argument
  ulimit -n 0; echo hi >out
                       ^
[ -c flag ]:1: Can't open 'out': Too many open files
[ -c flag ]:1: I/O error applying redirect: Too many open files
==12126==Can't open /proc/12125/task for reading.
==12125==LeakSanitizer has encountered a fatal error.
==12125==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
==12125==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)