Results for builtin-process.test.sh

statusoshosh-cpp
pass 2323
ok 10
FAIL 12
total2525
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 Exit out of function
6pass pass Exit builtin with invalid arg
7pass pass Exit builtin with too many args
8pass pass time with brace group argument
9pass pass ulimit with no flags is like -f
10pass pass ulimit too many args
11pass pass ulimit negative flag
12pass pass ulimit negative arg
13pass pass ulimit -a doesn't take arg
14pass pass ulimit doesn't accept multiple flags - reduce confusion between shells
15pass pass YSH readability: ulimit --all the same as ulimit -a
16pass pass ulimit accepts 'unlimited'
17pass pass ulimit of 2**32, 2**31 (int overflow)
18pass pass ulimit that is 64 bits
19pass pass arg that would overflow 64 bits is detected
20pass pass ulimit -f 1 prevents files larger 512 bytes
21ok FAIL write big file with ulimit
detailsdetails
22pass pass ulimit -S for soft limit (default), -H for hard limit
23pass pass Changing resource limit is denied
24FAIL FAIL ulimit -n limits file descriptors
detailsdetails
46 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

osh21 write big file with ulimit

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

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

stdout:
outer=153
stderr:
osh24 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-cpp24 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
==11836==Can't open /proc/11834/task for reading.
==11834==LeakSanitizer has encountered a fatal error.
==11834==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
==11834==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)