Results for builtin-process.test.sh

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

Details on runs that didn't PASS

dash3 exec builtin accepts --

stdout:
stderr: 
dash: 1: exec: --: not found
dash4 exec -- 2>&1

stdout:
stderr: 
dash: 1: exec: --: not found
mksh4 exec -- 2>&1

stdout:
stderr: 
dash5 exec -a sets argv[0]

stdout:
stderr: 
dash: 1: exec: -a: not found
dash7 Exit builtin with invalid arg

stdout:
stderr: 
dash: 1: exit: Illegal number: invalid
bash7 Exit builtin with invalid arg

stdout:
stderr: 
bash: line 1: exit: invalid: numeric argument required
zsh7 Exit builtin with invalid arg

stdout:
stderr: 
dash8 Exit builtin with too many args

stdout:
stderr: 
bash8 Exit builtin with too many args

stdout:
status=1
stderr:
bash: line 1: exit: too many arguments
mksh8 Exit builtin with too many args

stdout:
stderr: 
mksh: <stdin>[1]: exit: too many arguments
zsh8 Exit builtin with too many args

stdout:
status=1
stderr:
exit: too many arguments
dash9 time with brace group argument

stdout:
stderr: 
time: cannot run {: No such file or directory
Command exited with non-zero status 127
0.00user 0.00system 0:00.00elapsed 78%CPU (0avgtext+0avgdata 1152maxresident)k
0inputs+0outputs (0major+38minor)pagefaults 0swaps
dash: 7: Syntax error: "}" unexpected
zsh9 time with brace group argument

stdout:
result=1
stderr:
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
bash14 ulimit too many args

stdout:
fail
stderr:
zsh14 ulimit too many args

stdout:
fail
stderr:
mksh16 ulimit negative arg

stdout:
unlimited
fail
stderr:
bash17 ulimit -a doesn't take arg

stdout:
stderr: 
dash18 ulimit doesn't accept multiple flags - reduce confusion between shells

stdout:
status=0
status=0
status=0
stderr:
bash18 ulimit doesn't accept multiple flags - reduce confusion between shells

stdout:
status=0
status=0
status=0
stderr:
mksh18 ulimit doesn't accept multiple flags - reduce confusion between shells

stdout:
status=0
status=0
status=0
stderr:
zsh18 ulimit doesn't accept multiple flags - reduce confusion between shells

stdout:
status=1
status=0
status=0
stderr:
ulimit: no limits allowed with -a
dash19 YSH readability: ulimit --all the same as ulimit -a

stdout:
stderr: 
bash19 YSH readability: ulimit --all the same as ulimit -a

stdout:
stderr: 
mksh19 YSH readability: ulimit --all the same as ulimit -a

stdout:
stderr: 
zsh19 YSH readability: ulimit --all the same as ulimit -a

stdout:
stderr: 
mksh21 ulimit of 2**32, 2**31 (int overflow)

stdout:
one unlimited
two 1
three 1
stderr:
mksh: <stdin>[9]: ulimit: -2: unknown option
mksh: <stdin>[9]: ulimit: usage: ulimit [-acdefHilnpqrSstv] [value]
mksh22 ulimit that is 64 bits

stdout:
stderr: 
dash23 arg that would overflow 64 bits is detected

stdout:
before unlimited
after 1
stderr:
mksh23 arg that would overflow 64 bits is detected

stdout:
stderr: 
zsh23 arg that would overflow 64 bits is detected

stdout:
before unlimited
after 1
stderr:
bash24 ulimit -f 1 prevents files larger 512 bytes

stdout:
512 status=0
513 status=0

 512 ok.txt
 513 too-big.txt
1025 total

stderr:
osh25 write big file with ulimit

stdout:
inner=1
outer=0
stderr:
big.sh:2: echo builtin I/O error: File too large
dash26 ulimit -S for soft limit (default), -H for hard limit

stdout:
stderr: 
zsh26 ulimit -S for soft limit (default), -H for hard limit

stdout:
stderr: 
dash27 Changing resource limit is denied

stdout:
stderr: 
mksh27 Changing resource limit is denied

stdout:
stderr: 
dash28 ulimit -n limits file descriptors

stdout:
status=0
status=2
stderr:
dash: 1: cannot create out: Too many open files
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