Spec Test Results Summary

name # cases osh # passed osh # failed osh failures allowed osh ALT delta Elapsed Seconds
TOTAL (111 rows) 2290 2041 101 101 0 198.15
TODO-deprecate 4 4 0 0 0 0.28
alias 48 43 0 0 0 3.79
append 19 19 0 0 0 1.59
arith 70 67 0 0 0 4.64
arith-context 14 14 0 0 0 0.92
array 68 65 3 3 0 5.87
array-basic 5 5 0 0 0 0.61
array-compat 12 7 2 2 0 1.12
assign 44 41 2 2 0 4.47
assign-deferred 9 0 0 0 0 0.22
assign-dialects 2 1 1 1 0 0.17
assign-extended 35 33 0 0 0 2.69
assoc 43 37 4 4 0 3.08
assoc-zsh 7 0 0 0 0 0.09
background 18 16 2 2 0 4.01
ble-features 14 6 0 0 0 1.32
ble-idioms 14 14 0 0 0 1.17
blog1 9 5 0 0 0 0.70
blog2 8 8 0 0 0 0.57
brace-expansion 55 50 0 0 0 3.58
bugs 24 23 0 0 0 1.84
builtin-bash 12 8 4 4 0 0.83
builtin-bracket 46 46 0 0 0 3.04
builtin-cd 20 19 1 1 0 1.93
builtin-completion 48 45 3 3 0 3.28
builtin-dirs 16 16 0 0 0 1.08
builtin-echo 27 27 0 0 0 1.99
builtin-eval-source 20 20 0 0 0 1.40
builtin-getopts 24 21 0 0 0 1.68
builtin-history 8 8 0 0 0 0.95
builtin-meta 26 24 1 1 0 2.04
builtin-misc 7 7 0 0 0 0.54
builtin-printf 54 39 0 0 0 4.98
builtin-process 27 26 1 1 0 2.69
builtin-read 46 44 2 2 0 3.89
builtin-special 8 4 4 4 0 0.68
builtin-times 1 1 0 0 0 0.15
builtin-trap 18 17 0 0 0 1.71
builtin-trap-bash 23 16 2 2 0 1.45
builtin-trap-err 23 18 4 4 0 1.60
builtin-type 4 4 0 0 0 0.39
builtin-type-bash 30 28 0 0 0 1.83
builtin-vars 41 37 1 1 0 3.88
case_ 12 11 1 1 0 0.85
command-parsing 5 2 0 0 0 0.38
command-sub 30 29 0 0 0 2.44
command_ 15 14 0 0 0 1.47
comments 2 2 0 0 0 0.16
dbracket 49 49 0 0 0 2.96
dparen 15 14 0 0 0 1.05
empty-bodies 3 3 0 0 0 0.24
errexit 35 35 0 0 0 2.83
errexit-osh 33 33 0 0 0 2.90
exit-status 9 8 1 1 0 1.52
explore-parsing 5 5 0 0 0 0.40
extglob-files 23 18 1 1 0 2.15
extglob-match 29 25 0 0 0 1.73
fatal-errors 5 5 0 0 0 0.84
for-expr 9 9 0 0 0 0.60
func-parsing 15 14 0 0 0 0.93
glob 39 35 3 3 0 2.94
globignore 14 0 14 14 0 0.95
here-doc 34 31 0 0 0 2.25
if_ 5 5 0 0 0 0.36
interactive 15 15 0 0 0 2.10
introspect 13 13 0 0 0 2.27
let 2 0 0 0 0 0.06
loop 27 26 0 0 0 2.05
nameref 32 25 7 7 0 2.10
nix-idioms 6 5 0 0 0 0.60
nocasematch-match 6 6 0 0 0 0.39
nul-bytes 8 2 2 2 0 0.82
parse-errors 28 24 3 3 0 1.95
pipeline 24 22 0 0 0 3.61
posix 15 15 0 0 0 1.05
process-sub 9 9 0 0 0 1.63
prompt 25 24 0 0 0 1.81
quote 34 34 0 0 0 2.14
redirect 37 34 2 2 0 2.62
redirect-command 22 22 0 0 0 1.57
redirect-multi 13 13 0 0 0 1.01
regex 37 37 0 0 0 3.45
serialize 10 7 0 0 0 0.74
sh-func 11 10 1 1 0 0.71
sh-options 46 39 3 3 0 3.84
sh-usage 13 13 0 0 0 1.81
smoke 18 18 0 0 0 1.31
strict-options 15 15 0 0 0 1.30
subshell 2 2 0 0 0 0.21
tilde 14 13 0 0 0 0.99
toysh 8 4 3 3 0 0.57
toysh-posix 22 17 3 3 0 2.33
type-compat 7 2 0 0 0 0.55
unicode 7 7 0 0 0 1.08
var-num 7 7 0 0 0 0.87
var-op-bash 20 8 6 6 0 2.39
var-op-len 8 8 0 0 0 0.90
var-op-patsub 28 26 2 2 0 1.82
var-op-slice 22 20 0 0 0 3.38
var-op-strip 29 29 0 0 0 4.24
var-op-test 28 25 0 0 0 2.76
var-ref 27 25 0 0 0 2.05
var-sub 6 6 0 0 0 0.41
var-sub-quote 39 39 0 0 0 4.18
vars-bash 1 0 1 1 0 0.23
vars-special 38 35 2 2 0 3.36
whitespace 5 3 0 0 0 2.60
word-eval 8 8 0 0 0 0.93
word-split 41 33 8 8 0 5.33
xtrace 17 13 1 1 0 1.12
zsh-idioms 3 3 0 0 0 0.24
TOTAL (111 rows) 2290 2041 101 101 0 198.15

Version Information

osh-version-text () 
{ 
    local -a osh_list;
    if test $# -eq 0; then
        osh_list=($OSH_LIST);
    else
        osh_list=("$@");
    fi;
    date-and-git-info;
    for bin in "${osh_list[@]}";
    do
        echo ---;
        echo "\$ $bin --version";
        $bin --version;
        echo;
    done;
    echo ---;
    bash --version | head -n 1;
    ls -l $(type -p bash);
    echo;
    echo ---;
    zsh --version | head -n 1;
    ls -l $(type -p zsh);
    echo;
    echo ---;
    yash --version | head -n 1;
    ls -l $(type -p yash);
    echo;
    echo ---;
    local my_dash;
    my_dash=$(type -p dash);
    if test -f $my_dash; then
        ls -l $my_dash;
    else
        dpkg -s dash | egrep '^Package|Version';
    fi;
    echo;
    echo ---;
    local my_mksh;
    my_mksh=$(type -p mksh);
    if test -f $my_mksh; then
        ls -l $my_mksh;
    else
        dpkg -s mksh | egrep '^Package|Version';
    fi;
    echo;
    echo ---;
    local my_busybox;
    my_busybox=$(type -p busybox);
    if test -f $my_busybox; then
        { 
            $my_busybox || true
        } | head -n 1;
        ls -l $my_busybox;
    else
        { 
            busybox || true
        } | head -n 1;
    fi;
    echo;
    maybe-show /etc/debian_version;
    maybe-show /etc/lsb-release;
    maybe-show /etc/alpine-release
}
Wed Jul 10 03:28:49 UTC 2024

oil repo: 0f763e77452729d46d6df553d13eee18cb5f446e on branch soil-staging

---
$ /home/uke/oil/bin/osh --version
Oils 0.22.0		https://www.oilshell.org/

Release Date: -
Arch: x86_64
OS: Linux
Platform: #23~22.04.1-Ubuntu SMP Thu May  9 17:59:24 UTC 2024
Compiler: GCC 8.3.0
Interpreter: CPython
Interpreter version: 2.7.16
Bytecode: -

---
GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
-rwxr-xr-x 1 uke uke 5655400 Jun 10 01:25 /home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin/bash

---
zsh 5.1.1 (x86_64-unknown-linux-gnu)
-rwxr-xr-x 2 uke uke 1320784 Jun  9 15:35 /home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin/zsh

---
Yet another shell, version 2.49
-rwxr-xr-x 1 uke uke 1332960 Jun  9 17:14 /home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin/yash

---
-rwxr-xr-x 1 uke uke 122208 Jun  9 15:00 /home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin/dash

---
-rwxr-xr-x 1 uke uke 308968 Jun  9 15:00 /home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c/mksh

---
BusyBox v1.35.0 (2024-06-09 15:08:11 UTC) multi-call binary.
-rwxr-xr-x 1 uke uke 984560 Jun  9 15:09 /home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0/busybox

--- /etc/debian_version ---
10.13