PASSING - Shell Compatibility

Back to TOP.html

name bash dash ash zsh mksh ksh toysh sush brush osh
TOTAL 2,147 981 1,186 1,258 1,423 1,460 809 1,305 1,547 2,246
alias 47 42 43 39 42 41 3 32 21 43
append 15 1 1 9 12 12 4 10 8 19
arith 62 28 41 44 51 52 39 59 58 70
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 46 47 76
array-assign 9 0 0 2 7 7 1 7 1 1
array-assoc 34 0 0 10 7 7 0 11 27 38
array-basic 5 0 0 2 5 5 0 4 5 5
array-compat 12 1 1 2 9 9 0 10 9 7
array-literal 4 0 0 0 0 0 0 2 3 8
array-sparse 21 0 0 0 6 7 0 8 15 38
assign 36 22 28 35 33 34 21 23 35 44
assign-deferred 6 1 1 1 6 6 0 4 5 4
assign-dialects 4 0 0 0 1 3 0 1 2 1
assign-extended 23 0 0 13 7 8 1 6 18 36
background 23 17 19 12 20 21 9 12 9 23
ble-features 9 0 0 2 2 3 0 2 6 5
ble-idioms 24 4 6 10 10 11 1 15 16 25
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 31 50
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 44 42 52
builtin-cd 26 22 22 23 18 18 14 17 22 23
builtin-completion 41 0 0 0 1 1 0 16 28 47
builtin-dirs 16 0 0 11 0 0 0 0 16 16
builtin-echo 27 9 20 21 20 21 14 22 23 27
builtin-eval-source 19 8 12 13 12 13 9 15 14 22
builtin-getopts 22 18 20 12 17 17 0 13 7 21
builtin-history 0 0 0 0 0 0 0 0 0 8
builtin-kill 2 0 0 2 1 1 0 1 0 0
builtin-meta 15 8 8 11 13 12 1 6 11 17
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 52 34 32 36 33 35 33 12 34 41
builtin-process 21 17 20 20 19 19 6 8 17 26
builtin-read 41 15 37 17 28 29 0 19 31 44
builtin-special 6 7 5 7 9 10 4 3 7 10
builtin-times 1 1 1 1 1 1 0 0 1 1
builtin-trap 22 18 20 14 18 19 0 13 8 20
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 2 2 6
builtin-type-bash 28 0 1 8 5 5 0 10 29 28
builtin-vars 35 19 21 25 25 25 19 21 25 37
case_ 13 9 9 10 11 12 4 11 10 11
command_ 12 13 14 12 12 12 9 10 11 14
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 2 2 2 1 1 1 1 1 1 0
dparen 13 0 0 6 10 10 3 9 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 7 5 5 5 7 7 6 6 4 8
explore-parsing 4 4 4 5 5 5 3 3 4 5
extglob-files 22 0 0 2 18 18 2 14 19 18
extglob-match 29 0 0 2 22 26 1 23 28 25
fatal-errors 0 0 0 2 5 5 0 0 3 5
for-expr 8 0 0 8 0 0 0 3 5 9
func-parsing 12 11 11 5 9 9 14 8 12 14
glob 31 24 27 20 26 28 16 24 27 29
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 33 31 32 27 32 32 22 23 31 31
if_ 5 5 5 4 5 5 4 5 5 5
interactive 0 0 1 0 0 0 0 0 5 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 15 15 29
nameref 25 2 2 3 13 13 2 2 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 15 6 13 2 13 13 1 1 2 10
osh-bugs 0 0 0 0 0 0 0 0 0 2
parse-errors 21 21 22 5 7 7 21 14 12 24
pipeline 24 16 17 19 21 20 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 0 4 4
process-sub 5 0 5 5 0 0 2 3 5 9
prompt 31 0 0 0 6 0 0 0 21 25
quote 32 22 31 25 26 26 32 31 28 34
redirect 34 19 27 31 29 29 18 22 29 35
redirect-command 22 19 20 18 21 21 19 16 19 23
redirect-multi 11 1 4 4 4 3 8 9 8 13
redir-order 4 3 3 4 4 4 2 4 3 3
regex 35 2 10 16 6 6 11 23 30 37
serialize 7 0 0 3 4 4 0 3 6 7
sh-func 11 10 10 12 11 11 11 9 10 11
sh-options 35 16 18 19 21 21 9 13 29 43
sh-options-bash 8 1 1 1 1 1 1 2 7 6
sh-usage 12 10 11 12 9 9 7 8 9 14
smoke 18 18 18 17 18 18 16 18 17 18
subshell 2 2 2 2 2 2 2 2 2 2
temp-binding 2 2 2 2 1 2 1 1 2 3
tilde 12 9 12 11 12 12 3 8 5 13
toysh 8 0 1 1 1 3 3 6 5 4
toysh-posix 18 17 19 10 19 19 12 14 15 16
type-compat 4 0 0 1 1 1 1 0 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 8 20 18
var-op-len 5 2 4 5 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 13 13 20
var-op-strip 29 21 22 23 20 25 12 21 24 29
var-op-test 35 20 20 23 27 28 10 19 22 34
var-ref 26 0 0 5 2 3 5 17 21 31
vars-bash 0 0 0 0 0 0 0 0 1 0
vars-special 38 17 21 28 21 21 20 25 26 38
var-sub 5 4 5 3 4 4 2 5 5 6
var-sub-quote 38 34 35 29 37 37 13 35 24 39
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 47 47 47 18 46 47 29 45 33 45
xtrace 11 4 9 4 7 7 3 3 12 15
zsh-assoc 3 0 0 7 1 1 0 1 3 2
zsh-idioms 3 2 2 2 2 2 2 3 2 3

Generated by test/spec-compat.sh.

Raw TSV