Spec Test Results Summary

name # cases osh # passed osh # failed osh failures allowed osh ALT delta Elapsed Seconds
TODO-deprecate 4 4 0 0 0 0.55
alias 48 43 0 0 0 5.58
append 19 19 0 0 0 2.24
arith 70 67 0 0 0 7.65
arith-context 14 14 0 0 0 1.56
array 68 65 3 3 0 9.04
array-basic 5 5 0 0 0 0.81
array-compat 12 7 2 2 0 1.73
assign 44 41 2 2 0 5.61
assign-deferred 9 2 7 0 0 1.06
assign-dialects 2 1 1 1 0 0.34
assign-extended 35 33 0 0 0 4.49
assoc 43 37 4 4 0 4.90
assoc-zsh 7 1 6 0 0 1.02
background 18 16 2 2 0 3.68
ble-features 14 6 0 0 0 1.64
ble-idioms 14 14 0 0 0 1.76
blog1 9 5 0 0 0 1.09
blog2 8 8 0 0 0 0.97
brace-expansion 55 50 0 0 0 5.86
bugs 24 23 0 0 0 2.87
builtin-bash 12 8 4 4 0 1.53
builtin-bracket 46 46 0 0 0 5.18
builtin-cd 20 19 1 1 0 2.95
builtin-completion 48 45 3 3 0 6.11
builtin-dirs 16 16 0 0 0 1.93
builtin-echo 27 27 0 0 0 3.09
builtin-eval-source 20 20 0 0 0 2.28
builtin-getopts 24 21 0 0 0 2.94
builtin-history 8 8 0 0 0 1.78
builtin-meta 26 24 1 1 0 3.21
builtin-misc 7 7 0 0 0 0.94
builtin-printf 54 39 0 0 0 6.71
builtin-process 27 26 1 1 0 4.03
builtin-read 46 44 2 2 0 6.15
builtin-special 8 4 4 4 0 1.00
builtin-times 1 1 0 0 0 0.25
builtin-trap 18 17 0 0 0 2.34
builtin-trap-bash 23 16 2 2 0 2.72
builtin-trap-err 23 18 4 4 0 2.84
builtin-type 4 4 0 0 0 0.54
builtin-type-bash 30 28 0 0 0 3.43
builtin-vars 41 37 1 1 0 5.00
case_ 12 11 1 1 0 1.33
command-parsing 5 2 0 0 0 0.67
command-sub 30 29 0 0 0 4.12
command_ 15 14 0 0 0 2.28
comments 2 2 0 0 0 0.33
dbracket 49 49 0 0 0 5.45
dparen 15 14 0 0 0 1.72
empty-bodies 3 3 0 0 0 0.40
errexit 35 35 0 0 0 4.91
errexit-osh 33 33 0 0 0 4.84
exit-status 9 8 1 1 0 2.66
explore-parsing 5 5 0 0 0 0.76
extglob-files 23 18 1 1 0 3.49
extglob-match 29 25 0 0 0 3.11
fatal-errors 5 5 0 0 0 1.48
for-expr 9 9 0 0 0 1.13
func-parsing 15 14 0 0 0 1.63
glob 39 35 3 3 0 4.65
globignore 14 0 14 14 0 1.85
here-doc 34 33 0 0 0 4.10
if_ 5 5 0 0 0 0.63
interactive 15 15 0 0 0 4.01
introspect 13 13 0 0 0 3.49
let 2 0 2 0 0 0.31
loop 27 26 0 0 0 3.50
nameref 32 25 7 7 0 3.68
nix-idioms 6 5 0 0 0 0.98
nocasematch-match 6 6 0 0 0 0.76
nul-bytes 8 2 2 2 0 1.14
parse-errors 28 24 3 3 0 3.31
pipeline 24 22 0 0 0 3.55
posix 15 15 0 0 0 1.87
process-sub 9 9 0 0 0 1.92
prompt 25 24 0 0 0 3.20
quote 34 34 0 1 0 3.69
redirect 37 34 2 2 0 4.33
redirect-command 22 22 0 0 0 2.73
redirect-multi 13 13 0 0 0 1.57
regex 37 37 0 0 0 5.84
serialize 10 7 0 0 0 1.22
sh-func 11 10 1 1 0 1.34
sh-options 46 39 3 3 0 6.30
sh-usage 13 13 0 0 0 2.74
smoke 18 18 0 0 0 2.14
strict-options 15 15 0 0 0 2.33
subshell 2 2 0 0 0 0.39
tilde 14 13 0 0 0 1.57
toysh 8 4 3 3 0 1.05
toysh-posix 22 17 3 3 0 3.60
type-compat 7 2 0 0 0 0.99
unicode 7 7 0 0 0 1.51
var-num 7 7 0 0 0 1.49
var-op-bash 20 8 6 6 0 4.35
var-op-len 8 8 0 0 0 1.36
var-op-patsub 28 26 2 2 0 3.09
var-op-slice 22 20 0 0 0 4.85
var-op-strip 29 29 0 0 0 4.27
var-op-test 28 25 0 0 0 3.73
var-ref 27 25 0 0 0 3.62
var-sub 6 6 0 0 0 0.71
var-sub-quote 39 39 0 0 0 5.42
vars-bash 1 0 1 1 0 0.43
vars-special 38 35 2 2 0 4.96
whitespace 5 3 0 0 0 2.52
word-eval 8 8 0 0 0 1.30
word-split 41 33 8 8 0 5.37
xtrace 17 13 1 1 0 1.61
zsh-idioms 3 3 0 0 0 0.41

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:27:42 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.0.3(1)-release (x86_64-pc-linux-gnu)
-rwxr-xr-x 1 root root 1168776 Apr 18  2019 /bin/bash

---