PASSING - Shell Compatibility

Back to TOP.html

name bash dash ash zsh mksh ksh toysh sush brush osh
TOTAL 2,264 1,044 1,257 1,316 1,493 1,537 841 1,436 1,626 2,373
alias 47 42 43 40 42 41 4 31 19 43
append 15 1 1 9 12 12 4 14 8 19
arg-parse 3 1 1 1 1 1 2 2 1 3
arith 63 29 42 45 52 53 40 60 59 71
arith-context 13 1 4 7 8 9 6 10 6 14
arith-dynamic 4 0 1 1 1 1 3 4 3 1
array 63 7 7 25 41 45 8 56 47 76
array-assign 9 0 0 2 7 7 1 9 1 1
array-assoc 34 0 0 10 7 7 0 26 27 38
array-basic 5 0 0 2 5 5 0 5 5 5
array-compat 12 1 1 2 9 9 0 11 9 7
array-literal 12 0 0 1 0 0 0 8 5 19
array-sparse 21 0 0 0 6 7 0 11 15 38
assign 36 22 28 35 33 34 21 29 36 47
assign-deferred 6 1 1 1 6 6 0 3 5 4
assign-dialects 4 0 0 0 1 3 0 1 2 1
assign-extended 23 0 0 13 7 8 1 13 19 36
background 22 17 19 12 20 21 9 13 9 23
ble-features 9 0 0 2 2 3 0 3 6 5
ble-idioms 25 6 8 15 18 18 2 18 20 21
ble-unset 0 3 3 2 4 1 2 2 0 3
blog1 8 7 8 7 6 7 0 2 4 5
blog2 8 5 3 5 7 8 7 2 7 8
brace-expansion 46 8 8 38 32 32 38 42 37 51
bugs 21 12 13 18 17 17 12 16 18 26
builtin-bash 13 0 1 0 0 0 1 0 10 9
builtin-bind 9 0 0 0 0 0 0 1 1 2
builtin-bracket 49 42 44 37 45 48 40 43 42 52
builtin-cd 26 24 24 24 19 19 14 17 23 25
builtin-completion 42 0 0 0 1 1 0 16 31 48
builtin-dirs 16 0 0 11 0 0 0 0 16 16
builtin-echo 27 9 20 21 20 21 14 19 23 27
builtin-eval-source 20 9 13 14 12 13 10 15 17 23
builtin-fc 0 0 0 0 0 0 0 0 0 9
builtin-getopts 22 18 20 12 17 17 0 13 7 21
builtin-history 7 1 1 1 1 1 1 0 1 9
builtin-kill 16 4 9 7 7 9 1 6 3 13
builtin-meta 16 8 8 12 13 13 1 8 11 18
builtin-meta-assign 6 1 3 4 5 5 0 0 4 11
builtin-misc 3 3 4 3 3 3 2 2 3 7
builtin-printf 58 39 37 38 39 41 37 14 40 48
builtin-process 21 17 20 20 19 19 6 8 18 25
builtin-read 58 21 45 20 33 35 0 25 36 62
builtin-set 21 18 18 14 16 16 4 12 16 20
builtin-special 6 7 5 7 9 10 4 4 7 10
builtin-times 1 1 1 1 1 1 0 0 1 1
builtin-trap 28 22 23 14 20 22 3 13 9 26
builtin-trap-bash 22 1 1 4 1 1 0 1 1 16
builtin-trap-err 20 3 17 11 14 15 3 3 3 20
builtin-type 4 3 3 1 2 2 0 4 2 6
builtin-type-bash 29 0 1 8 5 5 0 12 29 29
builtin-vars 35 19 21 25 25 25 19 23 27 37
case_ 13 9 9 10 11 12 4 11 10 11
command_ 13 14 15 13 13 13 10 10 11 15
command-parsing 4 5 5 5 5 5 4 4 4 2
command-sub 29 29 30 24 27 27 13 28 15 30
command-sub-ksh 0 0 0 0 4 4 0 0 0 0
comments 2 2 2 2 2 2 2 2 2 2
dbracket 49 7 20 35 36 36 17 36 40 50
divergence 5 5 5 4 3 3 1 3 1 1
dparen 13 0 0 6 10 10 3 11 9 14
empty-bodies 1 1 1 3 2 2 3 3 3 3
errexit 34 29 30 32 35 35 13 12 14 35
errexit-osh 15 9 14 10 10 11 11 13 13 35
exit-status 9 7 7 7 9 9 6 8 4 11
explore-parsing 4 4 4 5 5 5 3 3 3 5
extglob-files 22 0 0 2 18 18 2 14 19 18
extglob-match 29 0 0 2 22 26 1 24 28 25
fatal-errors 0 0 0 2 5 5 0 0 3 5
for-expr 8 0 0 8 0 0 0 4 5 9
func-parsing 12 11 11 5 9 9 14 8 12 14
glob 36 29 32 23 29 31 19 29 30 34
glob-bash 8 0 0 0 0 0 0 5 2 7
globignore 14 0 0 0 0 0 0 0 0 0
globstar 4 0 0 3 1 1 0 4 1 1
here-doc 34 32 33 28 33 33 22 23 31 31
if_ 5 5 5 4 5 5 4 5 4 5
interactive 0 0 1 0 0 0 0 0 8 18
introspect 12 0 2 1 1 1 1 2 4 13
let 2 0 1 0 1 1 0 2 1 0
loop 23 23 23 21 23 24 16 22 21 29
nameref 25 2 2 3 13 13 2 3 3 25
nix-idioms 6 0 0 0 1 0 0 1 3 5
nocasematch-match 6 3 3 2 3 3 3 3 6 6
nul-bytes 16 6 13 2 14 14 1 0 2 11
osh-bugs 0 0 0 0 0 0 0 0 0 4
paren-ambiguity 9 6 6 9 9 9 7 7 8 6
parse-errors 22 22 23 6 8 8 22 15 14 24
pipeline 25 16 17 19 21 21 12 23 23 24
posix 15 15 15 13 13 13 7 13 14 15
print-source-code 4 0 0 4 4 4 0 4 4 4
process-sub 5 0 5 5 0 0 2 3 6 9
prompt 31 0 0 0 6 0 0 0 21 25
quote 33 22 31 25 28 28 31 33 28 33
redirect 37 20 28 34 31 31 20 23 31 38
redirect-command 22 19 20 18 21 21 19 16 21 23
redirect-multi 11 1 4 4 4 3 8 9 8 13
redir-order 5 4 4 5 5 5 3 5 4 5
regex 35 2 10 16 6 6 11 23 30 37
serialize 7 0 0 3 4 4 0 2 6 7
sh-func 11 10 10 12 11 11 11 9 10 11
sh-options 26 8 11 12 15 15 6 7 21 37
sh-options-bash 8 1 1 1 1 1 1 2 7 6
sh-usage 15 11 12 13 9 11 7 6 10 16
smoke 18 18 18 17 18 18 16 18 17 18
subshell 2 2 2 2 2 2 2 2 2 2
temp-binding 3 3 3 3 2 3 2 2 3 4
tilde 12 9 12 11 12 12 3 10 5 13
toysh 8 0 1 1 1 3 3 6 5 4
toysh-posix 18 17 19 10 19 19 12 14 14 19
type-compat 4 0 0 1 1 1 1 2 2 2
unicode 7 0 1 5 3 3 0 0 2 7
var-num 6 6 6 6 6 6 7 6 7 7
var-op-bash 22 2 2 3 4 3 10 6 20 18
var-op-len 6 2 4 6 3 4 2 4 2 8
var-op-patsub 27 0 14 21 19 20 12 15 20 26
var-op-slice 20 0 6 15 5 8 6 12 13 20
var-op-strip 29 21 22 23 20 25 12 21 27 29
var-op-test 35 20 20 23 27 28 10 25 22 34
var-ref 26 0 0 5 2 3 5 16 21 31
vars-bash 0 0 0 0 0 0 0 0 1 0
vars-special 38 17 21 28 21 21 20 25 25 38
var-sub 5 4 5 3 4 4 2 5 5 6
var-sub-quote 40 35 37 30 38 38 13 37 25 41
whitespace 5 5 3 4 3 3 1 3 3 3
word-eval 8 6 6 5 8 8 5 8 7 8
word-split 50 49 49 18 48 49 30 46 34 53
xtrace 11 4 9 4 7 7 3 4 12 15
zsh-assoc 3 0 0 7 1 1 0 3 3 2
zsh-idioms 3 2 2 2 2 2 2 3 2 3

Generated by test/spec-compat.sh.

Raw TSV