status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 12 | 9 | 12 | 11 | 12 | 12 | 3 | 8 | 5 | 13 | |
ok | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | |
N-I | 1 | 3 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |
BUG | 1 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 2 | 0 | 0 | 2 | 10 | 6 | 9 | 0 | |
TIME | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |
total | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | ~ expansion in assignment |
details | |||||||||||
1 | pass | BUG | pass | pass | pass | pass | FAIL | pass | pass | pass | ~ expansion in readonly assignment |
details | details | ||||||||||
2 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | No ~ expansion in dynamic assignment |
details | details | details | |||||||||
3 | BUG | pass | pass | pass | BUG | FAIL | pass | FAIL | pass | pass | No tilde expansion in word that looks like assignment but isn't |
details | details | details | details | ||||||||
4 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | tilde expansion of word after redirect |
5 | pass | pass | pass | ok | pass | pass | pass | pass | pass | pass | other user |
details | |||||||||||
6 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | ${undef:-~} |
details | details | details | |||||||||
7 | pass | N-I | pass | pass | pass | pass | TIME | pass | FAIL | pass | ${x//~/~root} |
details | details | details | |||||||||
8 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | x=foo:~ has tilde expansion |
details | details | ||||||||||
9 | pass | N-I | FAIL | N-I | pass | pass | FAIL | FAIL | FAIL | pass | a[x]=foo:~ has tilde expansion |
details | details | details | details | details | details | ||||||
10 | pass | BUG | pass | pass | pass | pass | FAIL | pass | FAIL | pass | tilde expansion an assignment keyword |
details | details | details | |||||||||
11 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | ok | x=${undef-~:~} |
details | details | details | details | ||||||||
12 | N-I | N-I | FAIL | ok | N-I | FAIL | FAIL | FAIL | FAIL | pass | strict tilde |
details | details | details | details | details | details | details | details | details | |||
13 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | temp assignment x=~ env |
details | details |
97 passed, 3 OK, 6 not implemented, 4 BUG, 29 failed, 1 timeouts, 0 cases skipped
toysh | 0 ~ expansion in assignment [toysh stdout] Expected '/home/bob/src\n', got '~/src\n' stdout: ~/srcstderr: |
dash | 1 ~ expansion in readonly assignment stdout: ~/srcstderr: |
toysh | 1 ~ expansion in readonly assignment [toysh stdout] Expected '/home/bob/src\n', got '\n' stdout: stderr: sh: readonly: No such file or directory |
toysh | 2 No ~ expansion in dynamic assignment [toysh stdout] Expected '~/src\n', got '\n' stdout: stderr: sh: readonly: No such file or directory |
sush | 2 No ~ expansion in dynamic assignment [sush stdout] Expected '~/src\n', got 'declare -ar BASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux")\ndeclare -r UID=1000\n\n' stdout: declare -ar BASH_VERSINFO=([0]="1" [1]="1" [2]="8" [3]="rusty_bash" [4]="release" [5]="x86_64-unknown-linux") declare -r UID=1000stderr: |
brush | 2 No ~ expansion in dynamic assignment [brush stdout] Expected '~/src\n', got '\n' stdout: stderr: |
bash | 3 No tilde expansion in word that looks like assignment but isn't stdout: x=/home/bobstderr: |
mksh | 3 No tilde expansion in word that looks like assignment but isn't stdout: x=/home/bobstderr: |
ksh | 3 No tilde expansion in word that looks like assignment but isn't [ksh stdout] Expected 'x=~\n', got 'x=/home/bob\n' stdout: x=/home/bobstderr: |
sush | 3 No tilde expansion in word that looks like assignment but isn't [sush stdout] Expected 'x=~\n', got 'x=/home/bob\n' stdout: x=/home/bobstderr: |
zsh | 5 other user stdout: stderr: zsh: no such user or named directory: nonexistent |
toysh | 6 ${undef:-~} [toysh stdout] Expected '/home/bar\n/home/bar/z\n~\n~\n', got '~\n~/z\n~\n"~"\n' stdout: ~ ~/z ~ "~"stderr: |
sush | 6 ${undef:-~} [sush stdout] Expected '/home/bar\n/home/bar/z\n~\n~\n', got '/home/bar\n/home/bar/z\n/home/bar\n~\n' stdout: /home/bar /home/bar/z /home/bar ~stderr: |
brush | 6 ${undef:-~} [brush stdout] Expected '/home/bar\n/home/bar/z\n~\n~\n', got '${undef:-~}\n/home/bar/z\n${undef:-~}\n~\n' stdout: ${undef:-~} /home/bar/z ${undef:-~} ~stderr: |
dash | 7 ${x//~/~root} stdout: stderr: dash: 3: Bad substitution |
brush | 7 ${x//~/~root} [brush stdout] Expected '/root\n/root\n[/root]\n', got '${x//~/~root}\n${HOME//~/~root}\n${x//~/~root}\n' stdout: ${x//~/~root} ${HOME//~/~root} ${x//~/~root}stderr: |
toysh | 8 x=foo:~ has tilde expansion [toysh stdout] Expected 'foo:/home/bar\nfoo:/home/bar\nfoo:~\nfoo:~,\n/home/bar:foo\nfoo:~\n' Got 'foo:~\nfoo:~\nfoo:~\nfoo:~,\n~:foo\nfoo:~\n' stdout: foo:~ foo:~ foo:~ foo:~, ~:foo foo:~stderr: |
brush | 8 x=foo:~ has tilde expansion [brush stdout] Expected 'foo:/home/bar\nfoo:/home/bar\nfoo:~\nfoo:~,\n/home/bar:foo\nfoo:~\n' Got 'foo:~\nfoo:~\nfoo:~\nfoo:~,\n/home/bar:foo\nfoo:~\n' stdout: foo:~ foo:~ foo:~ foo:~, /home/bar:foo foo:~stderr: |
dash | 9 a[x]=foo:~ has tilde expansion stdout: stderr: |
ash | 9 a[x]=foo:~ has tilde expansion [ash stdout] Expected 'foo:/home/bar\nfoo:/home/bar\n', got '' [ash status] Expected 0, got 2 stdout: stderr: ash: declare: not found ash: a[0]=foo:~: not found ash: syntax error: bad substitution |
zsh | 9 a[x]=foo:~ has tilde expansion stdout: stderr: |
toysh | 9 a[x]=foo:~ has tilde expansion [toysh stdout] Expected 'foo:/home/bar\nfoo:/home/bar\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
sush | 9 a[x]=foo:~ has tilde expansion [sush stdout] Expected 'foo:/home/bar\nfoo:/home/bar\n', got 'foo:/home/bar\n' [sush status] Expected 0, got 1 stdout: foo:/home/barstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: 'x': syntax error: operand expected (error token is "'x'") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: 'x': syntax error: operand expected (error token is "'x'") |
brush | 9 a[x]=foo:~ has tilde expansion [brush stdout] Expected 'foo:/home/bar\nfoo:/home/bar\n', got 'foo:~\nfoo:~\n' stdout: foo:~ foo:~stderr: |
dash | 10 tilde expansion an assignment keyword stdout: foo:~stderr: |
toysh | 10 tilde expansion an assignment keyword [toysh stdout] Expected 'foo:/home/bar\n', got 'foo:~\n' stdout: foo:~stderr: |
brush | 10 tilde expansion an assignment keyword [brush stdout] Expected 'foo:/home/bar\n', got 'foo:~\n' stdout: foo:~stderr: |
toysh | 11 x=${undef-~:~} [toysh stdout] Expected '/home/bar:/home/bar:/home/bar\n', got '~:~:~\n' stdout: ~:~:~stderr: |
sush | 11 x=${undef-~:~} [sush stdout] Expected '/home/bar:/home/bar:/home/bar\n', got '/home/bar:~:~\n' stdout: /home/bar:~:~stderr: |
brush | 11 x=${undef-~:~} [brush stdout] Expected '/home/bar:/home/bar:/home/bar\n', got '/home/bar:/home/bar:~\n' stdout: /home/bar:/home/bar:~stderr: |
osh | 11 x=${undef-~:~} stdout: /home/bar:~:~stderr: |
bash | 12 strict tilde stdout: ~nonexistent ~nonexistent status=0stderr: bash: line 3: shopt: strict_tilde: invalid shell option name |
dash | 12 strict tilde stdout: ~nonexistent ~nonexistent status=0stderr: dash: 3: shopt: not found |
ash | 12 strict tilde [ash stdout] Expected '~nonexistent\n', got '~nonexistent\n~nonexistent\nstatus=0\n' [ash status] Expected 1, got 0 stdout: ~nonexistent ~nonexistent status=0stderr: ash: shopt: not found |
zsh | 12 strict tilde stdout: stderr: zsh: no such user or named directory: nonexistent |
mksh | 12 strict tilde stdout: ~nonexistent ~nonexistent status=0stderr: mksh: <stdin>[3]: shopt: not found |
ksh | 12 strict tilde [ksh stdout] Expected '~nonexistent\n', got '~nonexistent\n~nonexistent\nstatus=0\n' [ksh status] Expected 1, got 0 stdout: ~nonexistent ~nonexistent status=0stderr: E: ksh: <stdin>[3]: shopt: inaccessible or not found |
toysh | 12 strict tilde [toysh stdout] Expected '~nonexistent\n', got '~nonexistent\n~nonexistent\nstatus=0\n' [toysh status] Expected 1, got 0 stdout: ~nonexistent ~nonexistent status=0stderr: sh: shopt: No such file or directory |
sush | 12 strict tilde [sush stdout] Expected '~nonexistent\n', got '~nonexistent\n~nonexistent\nstatus=0\n' [sush status] Expected 1, got 0 stdout: ~nonexistent ~nonexistent status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: shopt: strict_tilde: not supported yet |
brush | 12 strict tilde [brush stdout] Expected '~nonexistent\n', got '~nonexistent\n~nonexistent\nstatus=0\n' [brush status] Expected 1, got 0 stdout: ~nonexistent ~nonexistent status=0stderr: shopt: strict_tilde: invalid shell option name |
toysh | 13 temp assignment x=~ env [toysh stdout] Expected 'xx=/home/bar\nxx=/root:/home/bar:/home/bar\n' Got 'xx=~\nxx=~root:~:~\n' stdout: xx=~ xx=~root:~:~stderr: |
brush | 13 temp assignment x=~ env [brush stdout] Expected 'xx=/home/bar\nxx=/root:/home/bar:/home/bar\n' Got 'xx=/home/bar\nxx=/root:~:~\n' stdout: xx=/home/bar xx=/root:~:~stderr: |