Results for builtin-process.test.sh

statusdashbashmkshzshosh
pass 1720181926
ok 11100
N-I 21110
BUG 75770
FAIL 00001
total2727272727
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
5pass pass pass pass pass Exit out of function
6ok ok pass BUG pass Exit builtin with invalid arg
detailsdetailsdetails
7BUG BUG ok BUG pass Exit builtin with too many args
detailsdetailsdetailsdetails
8N-I pass pass BUG pass time with brace group argument
detailsdetails
9pass pass pass pass pass get umask
10pass pass pass pass pass set umask in octal
11pass pass pass pass FAIL set umask symbolically
details
12pass pass pass pass pass ulimit with no flags is like -f
13pass BUG pass BUG pass ulimit too many args
detailsdetails
14pass pass pass pass pass ulimit negative flag
15pass pass BUG pass pass ulimit negative arg
details
16pass BUG pass pass pass ulimit -a doesn't take arg
details
17BUG BUG BUG BUG pass ulimit doesn't accept multiple flags - reduce confusion between shells
detailsdetailsdetailsdetails
18N-I N-I N-I N-I pass YSH readability: ulimit --all the same as ulimit -a
detailsdetailsdetailsdetails
19pass pass pass pass pass ulimit accepts 'unlimited'
20pass pass BUG pass pass ulimit of 2**32, 2**31 (int overflow)
details
21pass pass BUG pass pass ulimit that is 64 bits
details
22BUG pass BUG BUG pass arg that would overflow 64 bits is detected
detailsdetailsdetails
23pass BUG pass pass pass ulimit -f 1 prevents files larger 512 bytes
details
24pass pass pass pass pass write big file with ulimit
25BUG pass pass BUG pass ulimit -S for soft limit (default), -H for hard limit
detailsdetails
26BUG pass BUG pass pass Changing resource limit is denied
detailsdetails
100 passed, 3 OK, 5 not implemented, 26 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 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: 
dash6 Exit builtin with invalid arg

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

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

stdout:
stderr: 
dash7 Exit builtin with too many args

stdout:
stderr: 
bash7 Exit builtin with too many args

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

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

stdout:
status=1
stderr:
exit: too many arguments
dash8 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 100%CPU (0avgtext+0avgdata 1280maxresident)k
0inputs+0outputs (0major+74minor)pagefaults 0swaps
dash: 7: Syntax error: "}" unexpected
zsh8 time with brace group argument

stdout:
result=1
stderr:
osh11 set umask symbolically

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

stdout:
664
664
stderr:
osh warning: umask with symbolic input isn't implemented
bash13 ulimit too many args

stdout:
fail
stderr:
zsh13 ulimit too many args

stdout:
fail
stderr:
mksh15 ulimit negative arg

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

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

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

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

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

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

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

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

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

stdout:
stderr: 
mksh20 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]
mksh21 ulimit that is 64 bits

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

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

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

stdout:
before unlimited
after 1
stderr:
bash23 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:
dash25 ulimit -S for soft limit (default), -H for hard limit

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

stdout:
stderr: 
dash26 Changing resource limit is denied

stdout:
stderr: 
mksh26 Changing resource limit is denied

stdout:
stderr: