status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 38 | 17 | 21 | 28 | 21 | 21 | 20 | 25 | 26 | 38 | |
ok | 0 | 0 | 0 | 4 | 2 | 0 | 0 | 0 | 0 | 1 | |
N-I | 0 | 22 | 0 | 5 | 14 | 0 | 0 | 0 | 0 | 0 | |
BUG | 0 | 2 | 0 | 5 | 4 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 2 | 0 | 20 | 0 | 0 | 20 | 22 | 17 | 16 | 3 | |
TIME | 2 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | |
total | 42 | 42 | 42 | 42 | 42 | 42 | 42 | 42 | 42 | 42 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | $PWD is set |
details | |||||||||||
1 | pass | pass | pass | pass | BUG | FAIL | pass | FAIL | pass | pass | $PWD is not only set, but exported |
details | details | details | |||||||||
2 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | $PATH is set if unset at startup |
details | details | ||||||||||
3 | TIME | TIME | TIME | BUG | TIME | TIME | FAIL | FAIL | pass | pass | $HOME is NOT set |
details | details | details | details | details | details | details | details | ||||
4 | TIME | N-I | FAIL | N-I | N-I | FAIL | FAIL | FAIL | FAIL | pass | Vars set interactively only: $HISTFILE |
details | details | details | details | details | details | details | details | details | |||
5 | pass | N-I | FAIL | ok | ok | FAIL | FAIL | FAIL | FAIL | pass | Some vars are set, even without startup file, or env: PATH, PWD |
details | details | details | details | details | details | details | details | ||||
6 | pass | BUG | FAIL | pass | BUG | FAIL | pass | FAIL | pass | FAIL | UID EUID PPID can't be changed |
details | details | details | details | details | details | ||||||
7 | pass | pass | pass | BUG | pass | pass | FAIL | FAIL | FAIL | pass | HOSTNAME OSTYPE can be changed |
details | details | details | details | ||||||||
8 | pass | pass | pass | BUG | pass | pass | FAIL | pass | pass | pass | $1 .. $9 are scoped, while $0 is not |
details | details | ||||||||||
9 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | $? |
10 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | $# |
details | |||||||||||
11 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | $$ looks like a PID |
12 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | $$ doesn't change with subshell or command sub |
13 | pass | N-I | FAIL | N-I | pass | pass | pass | pass | FAIL | pass | $BASHPID DOES change with subshell and command sub |
details | details | details | details | ||||||||
14 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Background PID $! looks like a PID |
details | details | ||||||||||
15 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | $PPID |
details | |||||||||||
16 | pass | N-I | FAIL | N-I | pass | pass | FAIL | pass | pass | pass | $PIPESTATUS |
details | details | details | details | ||||||||
17 | pass | N-I | pass | pass | pass | pass | pass | pass | pass | FAIL | $RANDOM |
details | details | ||||||||||
18 | pass | N-I | FAIL | pass | N-I | FAIL | pass | FAIL | pass | pass | $UID and $EUID |
details | details | details | details | details | |||||||
19 | pass | N-I | FAIL | pass | N-I | FAIL | pass | pass | pass | pass | $OSTYPE is non-empty |
details | details | details | details | ||||||||
20 | pass | N-I | pass | N-I | N-I | FAIL | pass | FAIL | pass | pass | $HOSTNAME |
details | details | details | details | details | |||||||
21 | pass | BUG | pass | BUG | pass | pass | pass | pass | FAIL | pass | $LINENO is the current line, not line of function call |
details | details | details | |||||||||
22 | pass | pass | pass | BUG | pass | pass | pass | FAIL | pass | pass | $LINENO in "bare" redirect arg (bug regression) |
details | details | ||||||||||
23 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | $LINENO in redirect arg (bug regression) |
24 | pass | N-I | pass | pass | N-I | FAIL | pass | pass | pass | pass | $LINENO in [[ |
details | details | details | |||||||||
25 | pass | N-I | FAIL | pass | pass | pass | FAIL | pass | pass | pass | $LINENO in (( |
details | details | details | |||||||||
26 | pass | pass | pass | pass | ok | FAIL | pass | pass | pass | pass | $LINENO in for loop |
details | details | ||||||||||
27 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | $LINENO in other for loops |
details | details | ||||||||||
28 | pass | N-I | FAIL | pass | BUG | FAIL | FAIL | FAIL | pass | FAIL | $LINENO in for (( loop |
details | details | details | details | details | details | details | |||||
29 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | $LINENO for assignment |
details | |||||||||||
30 | pass | pass | pass | pass | BUG | FAIL | FAIL | FAIL | pass | pass | $LINENO in case |
details | details | details | details | ||||||||
31 | pass | N-I | FAIL | pass | N-I | FAIL | pass | pass | FAIL | pass | $_ with simple command and evaluation |
details | details | details | details | details | |||||||
32 | pass | N-I | FAIL | pass | N-I | FAIL | FAIL | pass | FAIL | pass | $_ and ${_} |
details | details | details | details | details | details | ||||||
33 | pass | N-I | FAIL | pass | N-I | FAIL | FAIL | pass | FAIL | pass | $_ with word splitting |
details | details | details | details | details | details | ||||||
34 | FAIL | N-I | FAIL | ok | N-I | FAIL | FAIL | FAIL | FAIL | pass | $_ with pipeline and subshell |
details | details | details | details | details | details | details | details | details | |||
35 | pass | N-I | FAIL | pass | N-I | FAIL | FAIL | pass | FAIL | pass | $_ with && and || |
details | details | details | details | details | details | ||||||
36 | pass | N-I | FAIL | pass | N-I | FAIL | FAIL | pass | FAIL | pass | $_ is not reset with (( and [[ |
details | details | details | details | details | details | ||||||
37 | pass | N-I | FAIL | ok | N-I | FAIL | FAIL | FAIL | FAIL | ok | $_ with assignments, arrays, etc. |
details | details | details | details | details | details | details | details | details | |||
38 | pass | N-I | FAIL | ok | N-I | FAIL | FAIL | pass | FAIL | pass | $_ with loop |
details | details | details | details | details | details | details | |||||
39 | pass | N-I | FAIL | pass | pass | pass | pass | pass | pass | pass | $_ is not undefined on first use |
details | details | ||||||||||
40 | FAIL | N-I | FAIL | N-I | N-I | FAIL | FAIL | FAIL | FAIL | pass | BASH_VERSION / OILS_VERSION |
details | details | details | details | details | details | details | details | details | |||
41 | pass | N-I | FAIL | pass | pass | pass | pass | pass | pass | pass | $SECONDS |
details | details |
255 passed, 7 OK, 41 not implemented, 11 BUG, 100 failed, 6 timeouts, 0 cases skipped 3 failed under osh
sush | 0 $PWD is set [sush status] Expected 0, got 1 stdout: stderr: |
mksh | 1 $PWD is not only set, but exported stdout: stderr: |
ksh | 1 $PWD is not only set, but exported [ksh status] Expected 0, got 1 stdout: stderr: |
sush | 1 $PWD is not only set, but exported [sush status] Expected 0, got 1 stdout: stderr: |
toysh | 2 $PATH is set if unset at startup [toysh stdout] Expected 'yes\nyes\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 2 $PATH is set if unset at startup [sush stdout] Expected 'yes\nyes\n', got '' stdout: stderr: |
zsh | 3 $HOME is NOT set stdout: zsh sets HOMEstderr: |
toysh | 3 $HOME is NOT set [toysh stdout] Expected 'status=0\nstatus=1\nstatus=1\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 3 $HOME is NOT set [sush stdout] Expected 'status=0\nstatus=1\nstatus=1\n', got 'status=1\nstatus=1\nstatus=1\n' stdout: status=1 status=1 status=1stderr: : line : set: -i: invalid option |
dash | 4 Vars set interactively only: $HISTFILE stdout: stderr: |
ash | 4 Vars set interactively only: $HISTFILE [ash stdout] Expected 'histfile=\nhistfile=yes\n', got '' stdout: stderr: |
zsh | 4 Vars set interactively only: $HISTFILE stdout: stderr: |
mksh | 4 Vars set interactively only: $HISTFILE stdout: stderr: |
ksh | 4 Vars set interactively only: $HISTFILE [ksh stdout] Expected 'histfile=\nhistfile=yes\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: E: ksh: --: unknown option E: ksh: --: unknown option |
toysh | 4 Vars set interactively only: $HISTFILE [toysh stdout] Expected 'histfile=\nhistfile=yes\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 4 Vars set interactively only: $HISTFILE [sush stdout] Expected 'histfile=\nhistfile=yes\n', got '' [sush status] Expected 0, got 2 stdout: stderr: : line : -r: invalid option name : line : -r: invalid option name |
brush | 4 Vars set interactively only: $HISTFILE [brush stdout] Expected 'histfile=\nhistfile=yes\n', got 'histfile=yes\nhistfile=yes\n' stdout: histfile=yes histfile=yesstderr: |
dash | 5 Some vars are set, even without startup file, or env: PATH, PWD stdout: stderr: |
ash | 5 Some vars are set, even without startup file, or env: PATH, PWD [ash stdout] Expected 'path pwd ps4 0\nshellopts 0\nhome ps1 1\nifs 0\n' Got 'path pwd ps4 127\nshellopts 127\nhome ps1 127\nifs 127\n' stdout: path pwd ps4 127 shellopts 127 home ps1 127 ifs 127stderr: /home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0/ash: typeset: not found /home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0/ash: typeset: not found /home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0/ash: typeset: not found /home/andy/wedge/oils-for-unix.org/pkg/busybox/1.35.0/ash: typeset: not found |
zsh | 5 Some vars are set, even without startup file, or env: PATH, PWD stdout: path pwd ps4 0 shellopts 1 home ps1 0 ifs 0stderr: typeset PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin typeset PWD=/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/vars-special.test.sh.4074124/05-zsh typeset PS4='+%N:%i> ' zsh:typeset:1: no such variable: SHELLOPTS typeset HOME=/home/andy typeset PS1='' typeset IFS=' ' |
mksh | 5 Some vars are set, even without startup file, or env: PATH, PWD stdout: path pwd ps4 0 shellopts 0 home ps1 0 ifs 0stderr: typeset -x PATH=/usr/bin:/bin typeset PWD=/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/vars-special.test.sh.4074124/05-mksh typeset PS4='+ ' typeset -x HOME= typeset PS1='$ ' typeset IFS=$' \t\n' |
ksh | 5 Some vars are set, even without startup file, or env: PATH, PWD [ksh stdout] Expected 'path pwd ps4 0\nshellopts 0\nhome ps1 1\nifs 0\n' Got 'path pwd ps4 0\nshellopts 0\nhome ps1 0\nifs 0\n' stdout: path pwd ps4 0 shellopts 0 home ps1 0 ifs 0stderr: typeset -x PATH=/usr/bin:/bin typeset PWD=/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/vars-special.test.sh.4074124/05-ksh typeset PS4='+ ' typeset -x HOME typeset PS1='$ ' typeset IFS=$' \t\n' |
toysh | 5 Some vars are set, even without startup file, or env: PATH, PWD [toysh stdout] Expected 'path pwd ps4 0\nshellopts 0\nhome ps1 1\nifs 0\n' Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 5 Some vars are set, even without startup file, or env: PATH, PWD [sush stdout] Expected 'path pwd ps4 0\nshellopts 0\nhome ps1 1\nifs 0\n' Got 'path pwd ps4 1\nshellopts 1\nhome ps1 1\nifs 0\n' stdout: path pwd ps4 1 shellopts 1 home ps1 1 ifs 0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: PATH: not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: SHELLOPTS: not found declare -- HOME=/ /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: PS1: not found declare -- IFS=$' \n' |
brush | 5 Some vars are set, even without startup file, or env: PATH, PWD [brush stdout] Expected 'path pwd ps4 0\nshellopts 0\nhome ps1 1\nifs 0\n' Got 'declare -- PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"\ndeclare -x PWD="/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/vars-special.test.sh.4074124/05-brush"\ndeclare -- PS4="+ "\npath pwd ps4 0\ndeclare -r SHELLOPTS="braceexpand:hashall:interactive-comments"\nshellopts 0\nhome ps1 1\ndeclare -- IFS=$\' \\t\\n\'\nifs 0\n' stdout: declare -- PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" declare -x PWD="/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/vars-special.test.sh.4074124/05-brush" declare -- PS4="+ " path pwd ps4 0 declare -r SHELLOPTS="braceexpand:hashall:interactive-comments" shellopts 0 home ps1 1 declare -- IFS=$' \t\n' ifs 0stderr: declare: HOME: not found declare: PS1: not found |
dash | 6 UID EUID PPID can't be changed stdout: uid=xx euid=xx status=0stderr: |
ash | 6 UID EUID PPID can't be changed [ash stdout] Expected 'status=1\n', got 'uid=xx\neuid=xx\nstatus=0\n' stdout: uid=xx euid=xx status=0stderr: |
mksh | 6 UID EUID PPID can't be changed stdout: uid=xx euid=xx status=0stderr: |
ksh | 6 UID EUID PPID can't be changed [ksh stdout] Expected 'status=1\n', got 'uid=xx\neuid=xx\nstatus=0\n' stdout: uid=xx euid=xx status=0stderr: |
sush | 6 UID EUID PPID can't be changed [sush stdout] Expected 'status=1\n', got 'euid=xx\nppid=xx\nstatus=0\n' stdout: euid=xx ppid=xx status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: UID: readonly variable |
osh | 6 UID EUID PPID can't be changed [osh stdout] Expected 'status=1\n', got 'uid=xx\neuid=xx\nppid=xx\nstatus=0\n' stdout: uid=xx euid=xx ppid=xx status=0stderr: |
zsh | 7 HOSTNAME OSTYPE can be changed stdout: stderr: |
toysh | 7 HOSTNAME OSTYPE can be changed [toysh stdout] Expected 'hostname=x\nostype=x\n\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 7 HOSTNAME OSTYPE can be changed [sush stdout] Expected 'hostname=x\nostype=x\n\n', got 'hostname=x\nostype=linux\n\n' stdout: hostname=x ostype=linuxstderr: |
brush | 7 HOSTNAME OSTYPE can be changed [brush stdout] Expected 'hostname=x\nostype=x\n\n', got 'hostname=hoover\nostype=linux-gnu\n\n' stdout: hostname=hoover ostype=linux-gnustderr: |
zsh | 8 $1 .. $9 are scoped, while $0 is not stdout: a bstderr: |
toysh | 8 $1 .. $9 are scoped, while $0 is not [toysh stdout] Expected 'sh\na b\n', got 'a b\n' stdout: a bstderr: |
toysh | 10 $# [toysh stdout] Expected '4\n', got '0\n' stdout: 0stderr: set: bad -- |
dash | 13 $BASHPID DOES change with subshell and command sub stdout: stderr: empty BASHPID in parent |
ash | 13 $BASHPID DOES change with subshell and command sub [ash stdout] Expected 'subshell OK\ncommand sub OK\n', got '' [ash status] Expected 3, got 1 stdout: stderr: empty BASHPID in parent |
zsh | 13 $BASHPID DOES change with subshell and command sub stdout: stderr: empty BASHPID in parent |
brush | 13 $BASHPID DOES change with subshell and command sub [brush stdout] Expected 'subshell OK\ncommand sub OK\n', got '\n' stdout: stderr: should not be equal: 4084375 = 4084375 should not be equal: 4084375 = 4084375 |
toysh | 14 Background PID $! looks like a PID [toysh stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: |
brush | 14 Background PID $! looks like a PID [brush stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: |
sush | 15 $PPID [sush status] Expected 0, got 1 stdout: stderr: |
dash | 16 $PIPESTATUS stdout: stderr: dash: 2: Bad substitution |
ash | 16 $PIPESTATUS [ash stdout] Expected "['0', '33', '0']\n", got '' [ash status] Expected 0, got 2 stdout: stderr: ash: syntax error: bad substitution |
zsh | 16 $PIPESTATUS stdout: ['']stderr: |
toysh | 16 $PIPESTATUS [toysh stdout] Expected "['0', '33', '0']\n", got "['']\n" stdout: ['']stderr: |
dash | 17 $RANDOM stdout: 0stderr: |
osh | 17 $RANDOM [osh status] Expected 0, got 99 stdout: 51stderr: |
dash | 18 $UID and $EUID stdout: stderr: |
ash | 18 $UID and $EUID [ash stdout] Expected 'status=0\n', got '' [ash status] Expected 0, got 1 stdout: stderr: |
mksh | 18 $UID and $EUID stdout: stderr: |
ksh | 18 $UID and $EUID [ksh stdout] Expected 'status=0\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: |
sush | 18 $UID and $EUID [sush stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name |
dash | 19 $OSTYPE is non-empty stdout: status=1stderr: |
ash | 19 $OSTYPE is non-empty [ash stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: |
mksh | 19 $OSTYPE is non-empty stdout: status=1stderr: |
ksh | 19 $OSTYPE is non-empty [ksh stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: |
dash | 20 $HOSTNAME stdout: status=1stderr: |
zsh | 20 $HOSTNAME stdout: status=1stderr: |
mksh | 20 $HOSTNAME stdout: status=1stderr: |
ksh | 20 $HOSTNAME [ksh stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: |
sush | 20 $HOSTNAME [sush stdout] Expected 'status=0\n', got 'status=1\n' stdout: status=1stderr: |
dash | 21 $LINENO is the current line, not line of function call stdout: 1 ['2'] ['2'] ['4']stderr: |
zsh | 21 $LINENO is the current line, not line of function call stdout: 1 ['1'] ['1'] ['3']stderr: |
brush | 21 $LINENO is the current line, not line of function call [brush stdout] Expected "1\n['6']\n['3']\n['8']\n", got "1\n['4']\n['4']\n['4']\n" stdout: 1 ['4'] ['4'] ['4']stderr: |
zsh | 22 $LINENO in "bare" redirect arg (bug regression) stdout: stderr: |
sush | 22 $LINENO in "bare" redirect arg (bug regression) [sush stdout] Expected 'written\n5\n', got '5\n' stdout: 5stderr: |
dash | 24 $LINENO in [[ stdout: onestderr: dash: 2: [[: not found |
mksh | 24 $LINENO in [[ stdout: onestderr: |
ksh | 24 $LINENO in [[ [ksh stdout] Expected 'one\nOK\n', got 'one\n' [ksh status] Expected 0, got 1 stdout: onestderr: |
dash | 25 $LINENO in (( stdout: onestderr: dash: 2: x: not found |
ash | 25 $LINENO in (( [ash stdout] Expected 'one\n2\n', got 'one\n\n' stdout: onestderr: ash: x: not found |
toysh | 25 $LINENO in (( [toysh stdout] Expected 'one\n2\n', got 'one\n' [toysh status] Expected 0, got -11 stdout: onestderr: |
mksh | 26 $LINENO in for loop stdout: one 1 zzzstderr: |
ksh | 26 $LINENO in for loop [ksh stdout] Expected 'one\n2\nzzz\n', got 'one\n1\nzzz\n' stdout: one 1 zzzstderr: |
toysh | 27 $LINENO in other for loops [toysh stdout] Expected '3 a\n3 b\n3 c\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: set: bad -- main: line 2: sh: syntax error: ; |
brush | 27 $LINENO in other for loops [brush stdout] Expected '3 a\n3 b\n3 c\n', got '2 a\n2 b\n2 c\n' stdout: 2 a 2 b 2 cstderr: |
dash | 28 $LINENO in for (( loop stdout: onestderr: dash: 2: Syntax error: Bad for loop variable |
ash | 28 $LINENO in for (( loop [ash stdout] Expected 'one\n0\n1\n', got 'one\n' [ash status] Expected 0, got 2 stdout: onestderr: ash: syntax error: bad for loop variable |
mksh | 28 $LINENO in for (( loop stdout: onestderr: mksh: <stdin>[2]: syntax error: '((' unexpected |
ksh | 28 $LINENO in for (( loop [ksh stdout] Expected 'one\n0\n1\n', got 'one\n' [ksh status] Expected 0, got 1 stdout: onestderr: E: ksh: <stdin>[2]: syntax error: unexpected '((' |
toysh | 28 $LINENO in for (( loop [toysh stdout] Expected 'one\n0\n1\n', got 'one\n' [toysh status] Expected 0, got 2 stdout: onestderr: main: line 2: sh: syntax error: ; |
sush | 28 $LINENO in for (( loop [sush stdout] Expected 'one\n0\n1\n', got 'one\n0\n1\n2\n' stdout: one 0 1 2stderr: |
osh | 28 $LINENO in for (( loop [osh stdout] Expected 'one\n0\n1\n', got 'one\n0\n1\n2\n' stdout: one 0 1 2stderr: |
toysh | 29 $LINENO for assignment [toysh stdout] Expected '1 1\n2 2\n', got '' [toysh status] Expected 0, got -11 stdout: stderr: |
mksh | 30 $LINENO in case stdout: line=3stderr: |
ksh | 30 $LINENO in case [ksh stdout] Expected 'got line 1\n', got 'line=3\n' stdout: line=3stderr: |
toysh | 30 $LINENO in case [toysh status] Expected 0, got -6 stdout: got line 1stderr: free(): invalid pointer |
sush | 30 $LINENO in case [sush stdout] Expected 'got line 1\n', got 'line=3\n' stdout: line=3stderr: |
dash | 31 $_ with simple command and evaluation stdout: hi worldstderr: |
ash | 31 $_ with simple command and evaluation [ash stdout] Expected 'hi world\nhi world\n', got 'hi world\n\n' stdout: hi worldstderr: |
mksh | 31 $_ with simple command and evaluation stdout: hi worldstderr: |
ksh | 31 $_ with simple command and evaluation [ksh stdout] Expected 'hi world\nhi world\n', got 'hi world\n\n' stdout: hi worldstderr: |
brush | 31 $_ with simple command and evaluation [brush stdout] Expected 'hi world\nhi world\n', got 'hi world\n\n' stdout: hi worldstderr: |
dash | 32 $_ and ${_} stdout: stderr: |
ash | 32 $_ and ${_} [ash stdout] Expected '42 value 42var\nfoobar\n', got 'value var\n\n' stdout: value varstderr: |
mksh | 32 $_ and ${_} stdout: stderr: |
ksh | 32 $_ and ${_} [ksh stdout] Expected '42 value 42var\nfoobar\n', got 'value var\n\n' stdout: value varstderr: |
toysh | 32 $_ and ${_} [toysh stdout] Expected '42 value 42var\nfoobar\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
brush | 32 $_ and ${_} [brush stdout] Expected '42 value 42var\nfoobar\n', got 'value var\n\n' stdout: value varstderr: |
dash | 33 $_ with word splitting stdout: stderr: |
ash | 33 $_ with word splitting [ash stdout] Expected 'spaces\n', got '\n' stdout: stderr: ash: setopt: not found |
mksh | 33 $_ with word splitting stdout: stderr: |
ksh | 33 $_ with word splitting [ksh stdout] Expected 'spaces\n', got '\n' stdout: stderr: E: ksh: <stdin>[3]: setopt: inaccessible or not found |
toysh | 33 $_ with word splitting [toysh stdout] Expected 'spaces\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
brush | 33 $_ with word splitting [brush stdout] Expected 'spaces\n', got '\n' stdout: stderr: setopt: command not found |
bash | 34 $_ with pipeline and subshell [bash stdout] Expected 'last=\npipeline=last=\nsubshell=pipeline=last=\ndone=pipeline=last=\n' Got 'last=lastpipe\npipeline=last=lastpipe\nsubshell=pipeline=last=lastpipe\ndone=pipeline=last=lastpipe\n' stdout: last=lastpipe pipeline=last=lastpipe subshell=pipeline=last=lastpipe done=pipeline=last=lastpipestderr: seq: write error: Broken pipe |
dash | 34 $_ with pipeline and subshell stdout: stderr: |
ash | 34 $_ with pipeline and subshell [ash stdout] Expected 'last=\npipeline=last=\nsubshell=pipeline=last=\ndone=pipeline=last=\n' Got 'last=\npipeline=\nsubshell=\ndone=\n' stdout: last= pipeline= subshell= done=stderr: ash: shopt: not found seq: write error: Broken pipe |
zsh | 34 $_ with pipeline and subshell stdout: last=3 pipeline=last=3 subshell= done=stderr: zsh: command not found: shopt seq: write error: Broken pipe |
mksh | 34 $_ with pipeline and subshell stdout: stderr: |
ksh | 34 $_ with pipeline and subshell [ksh stdout] Expected 'last=\npipeline=last=\nsubshell=pipeline=last=\ndone=pipeline=last=\n' Got 'last=\npipeline=\nsubshell=\ndone=\n' stdout: last= pipeline= subshell= done=stderr: E: ksh: <stdin>[3]: shopt: inaccessible or not found seq: write error: Broken pipe |
toysh | 34 $_ with pipeline and subshell [toysh stdout] Expected 'last=\npipeline=last=\nsubshell=pipeline=last=\ndone=pipeline=last=\n' Got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
sush | 34 $_ with pipeline and subshell [sush stdout] Expected 'last=\npipeline=last=\nsubshell=pipeline=last=\ndone=pipeline=last=\n' Got 'last=3\npipeline=last=3\nsubshell=pipeline=last=3\ndone=pipeline=last=3\n' stdout: last=3 pipeline=last=3 subshell=pipeline=last=3 done=pipeline=last=3stderr: |
brush | 34 $_ with pipeline and subshell [brush stdout] Expected 'last=\npipeline=last=\nsubshell=pipeline=last=\ndone=pipeline=last=\n' Got 'last=\npipeline=\nsubshell=\ndone=\n' stdout: last= pipeline= subshell= done=stderr: |
dash | 35 $_ with && and || stdout: stderr: |
ash | 35 $_ with && and || [ash stdout] Expected 'hi\nlast=hi\nand=last=hi\nhi\nor=hi\n', got 'hi\nlast=\nand=\nhi\nor=\n' stdout: hi last= and= hi or=stderr: |
mksh | 35 $_ with && and || stdout: stderr: |
ksh | 35 $_ with && and || [ksh stdout] Expected 'hi\nlast=hi\nand=last=hi\nhi\nor=hi\n', got 'hi\nlast=\nand=\nhi\nor=\n' stdout: hi last= and= hi or=stderr: |
toysh | 35 $_ with && and || [toysh stdout] Expected 'hi\nlast=hi\nand=last=hi\nhi\nor=hi\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
brush | 35 $_ with && and || [brush stdout] Expected 'hi\nlast=hi\nand=last=hi\nhi\nor=hi\n', got 'hi\nlast=\nand=\nhi\nor=\n' stdout: hi last= and= hi or=stderr: |
dash | 36 $_ is not reset with (( and [[ stdout: stderr: |
ash | 36 $_ is not reset with (( and [[ [ash stdout] Expected 'simple\n(( simple\n[[ (( simple\n', got 'simple\n(( \n[[ \n' stdout: simple (( [[stderr: ash: a: not found |
mksh | 36 $_ is not reset with (( and [[ stdout: stderr: |
ksh | 36 $_ is not reset with (( and [[ [ksh stdout] Expected 'simple\n(( simple\n[[ (( simple\n', got 'simple\n(( \n[[ \n' stdout: simple (( [[stderr: |
toysh | 36 $_ is not reset with (( and [[ [toysh stdout] Expected 'simple\n(( simple\n[[ (( simple\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
brush | 36 $_ is not reset with (( and [[ [brush stdout] Expected 'simple\n(( simple\n[[ (( simple\n', got 'simple\n(( \n[[ \n' stdout: simple (( [[stderr: |
dash | 37 $_ with assignments, arrays, etc. stdout: stderr: |
ash | 37 $_ with assignments, arrays, etc. [ash stdout] Expected 'colon [foo]\nbare assign []\ndeclare [s=bar]\narray []\ndeclare array [a]\ndeclare flag [d]\n' Got 'colon []\nbare assign []\ndeclare []\n' [ash status] Expected 0, got 2 stdout: colon [] bare assign [] declare []stderr: ash: declare: not found ash: syntax error: unexpected "(" |
zsh | 37 $_ with assignments, arrays, etc. stdout: colon [foo] bare assign [] declare [declare] array [declare [declare]] declare array [declare] declare flag [-g]stderr: |
mksh | 37 $_ with assignments, arrays, etc. stdout: stderr: |
ksh | 37 $_ with assignments, arrays, etc. [ksh stdout] Expected 'colon [foo]\nbare assign []\ndeclare [s=bar]\narray []\ndeclare array [a]\ndeclare flag [d]\n' Got 'colon []\nbare assign []\ndeclare []\narray []\n' [ksh status] Expected 0, got 1 stdout: colon [] bare assign [] declare [] array []stderr: E: ksh: <stdin>[9]: declare: inaccessible or not found E: ksh: <stdin>[15]: syntax error: unexpected '(' |
toysh | 37 $_ with assignments, arrays, etc. [toysh stdout] Expected 'colon [foo]\nbare assign []\ndeclare [s=bar]\narray []\ndeclare array [a]\ndeclare flag [d]\n' Got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
sush | 37 $_ with assignments, arrays, etc. [sush stdout] Expected 'colon [foo]\nbare assign []\ndeclare [s=bar]\narray []\ndeclare array [a]\ndeclare flag [d]\n' Got 'colon [foo]\nbare assign []\ndeclare [declare]\narray []\ndeclare array [declare]\ndeclare flag [-g]\n' stdout: colon [foo] bare assign [] declare [declare] array [] declare array [declare] declare flag [-g]stderr: |
brush | 37 $_ with assignments, arrays, etc. [brush stdout] Expected 'colon [foo]\nbare assign []\ndeclare [s=bar]\narray []\ndeclare array [a]\ndeclare flag [d]\n' Got 'colon []\nbare assign []\ndeclare []\narray []\ndeclare array []\ndeclare flag []\n' stdout: colon [] bare assign [] declare [] array [] declare array [] declare flag []stderr: |
osh | 37 $_ with assignments, arrays, etc. stdout: colon [foo] bare assign [colon [foo]] declare [bare assign [colon [foo]]] array [declare [bare assign [colon [foo]]]] declare array [array [declare [bare assign [colon [foo]]]]] declare flag [declare array [array [declare [bare assign [colon [foo]]]]]]stderr: |
dash | 38 $_ with loop stdout: stderr: |
ash | 38 $_ with loop [ash stdout] Expected 'init\nbegin=init\nprev=begin=init\nprev=prev=begin=init\nprev=prev=prev=begin=init\n' Got 'init\nbegin=\nprev=\nprev=\nprev=\n' stdout: init begin= prev= prev= prev=stderr: |
zsh | 38 $_ with loop stdout: init begin=init prev= prev=prev= prev=prev=prev=stderr: |
mksh | 38 $_ with loop stdout: stderr: |
ksh | 38 $_ with loop [ksh stdout] Expected 'init\nbegin=init\nprev=begin=init\nprev=prev=begin=init\nprev=prev=prev=begin=init\n' Got 'init\nbegin=\nprev=\nprev=\nprev=\n' stdout: init begin= prev= prev= prev=stderr: |
toysh | 38 $_ with loop [toysh stdout] Expected 'init\nbegin=init\nprev=begin=init\nprev=prev=begin=init\nprev=prev=prev=begin=init\n' Got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
brush | 38 $_ with loop [brush stdout] Expected 'init\nbegin=init\nprev=begin=init\nprev=prev=begin=init\nprev=prev=prev=begin=init\n' Got 'init\nbegin=\nprev=\nprev=\nprev=\n' stdout: init begin= prev= prev= prev=stderr: |
dash | 39 $_ is not undefined on first use stdout: stderr: dash: 1: _: parameter not set |
ash | 39 $_ is not undefined on first use [ash stdout] Expected 'status=0\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: _: parameter not set |
bash | 40 BASH_VERSION / OILS_VERSION [bash stdout] Expected 'matched=0\n', got 'matched=1\n' stdout: matched=1stderr: |
dash | 40 BASH_VERSION / OILS_VERSION stdout: no versionstderr: |
ash | 40 BASH_VERSION / OILS_VERSION [ash stdout] Expected 'matched=0\n', got 'no version\n' stdout: no versionstderr: |
zsh | 40 BASH_VERSION / OILS_VERSION stdout: no versionstderr: |
mksh | 40 BASH_VERSION / OILS_VERSION stdout: no versionstderr: |
ksh | 40 BASH_VERSION / OILS_VERSION [ksh stdout] Expected 'matched=0\n', got 'no version\n' stdout: no versionstderr: |
toysh | 40 BASH_VERSION / OILS_VERSION [toysh stdout] Expected 'matched=0\n', got 'no version\n' [toysh status] Expected 0, got -6 stdout: no versionstderr: munmap_chunk(): invalid pointer |
sush | 40 BASH_VERSION / OILS_VERSION [sush stdout] Expected 'matched=0\n', got 'no version\n' stdout: no versionstderr: |
brush | 40 BASH_VERSION / OILS_VERSION [brush stdout] Expected 'matched=0\n', got 'no version\n' stdout: no versionstderr: |
dash | 41 $SECONDS stdout: stderr: |
ash | 41 $SECONDS [ash stdout] Expected 'ok\n', got '' stdout: stderr: |