Results for builtin-process.test.sh

statusoshosh-cpp
pass 2626
ok 10
FAIL 23
total2929
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 get umask
11pass pass set umask in octal
12FAIL FAIL set umask symbolically
detailsdetails
13pass pass ulimit with no flags is like -f
14pass pass ulimit too many args
15pass pass ulimit negative flag
16pass pass ulimit negative arg
17pass pass ulimit -a doesn't take arg
18pass pass ulimit doesn't accept multiple flags - reduce confusion between shells
19pass pass YSH readability: ulimit --all the same as ulimit -a
20pass pass ulimit accepts 'unlimited'
21pass pass ulimit of 2**32, 2**31 (int overflow)
22pass pass ulimit that is 64 bits
23pass pass arg that would overflow 64 bits is detected
24pass pass ulimit -f 1 prevents files larger 512 bytes
25ok FAIL write big file with ulimit
detailsdetails
26pass pass ulimit -S for soft limit (default), -H for hard limit
27pass pass Changing resource limit is denied
28FAIL FAIL ulimit -n limits file descriptors
detailsdetails
52 passed, 1 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

osh12 set umask symbolically

[osh stdout] Expected '664\n644\n' Got '664\n664\n'
[osh stderr] Expected u'' Got "oils warning: umask with symbolic input isn't implemented\n"

stdout:
664
664
stderr:
oils warning: umask with symbolic input isn't implemented
osh-cpp12 set umask symbolically

[osh-cpp stdout] Expected '664\n644\n' Got '664\n664\n'
[osh-cpp stderr] Expected u'' Got "oils warning: umask with symbolic input isn't implemented\n"

stdout:
664
664
stderr:
oils warning: umask with symbolic input isn't implemented
osh25 write big file with ulimit

stdout:
inner=1
outer=0
stderr:
big.sh:2: echo builtin I/O error: File too large
osh-cpp25 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)
osh28 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-cpp28 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
==12143==Can't open /proc/12142/task for reading.
==12142==LeakSanitizer has encountered a fatal error.
==12142==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
==12142==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)