| status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
| pass | 47 | 42 | 43 | 40 | 42 | 41 | 4 | 31 | 19 | 43 | |
| ok | 0 | 2 | 0 | 5 | 5 | 0 | 0 | 0 | 0 | 5 | |
| N-I | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
| BUG | 1 | 3 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | |
| FAIL | 0 | 0 | 5 | 0 | 0 | 7 | 44 | 17 | 29 | 0 | |
| total | 48 | 48 | 48 | 48 | 48 | 48 | 48 | 48 | 48 | 48 | |
| case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
| 0 | pass | BUG | FAIL | pass | pass | pass | FAIL | FAIL | pass | pass | Usage of builtins |
| details | details | details | details | ||||||||
| 1 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Basic alias |
| details | details | ||||||||||
| 2 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | define and use alias on a single line |
| details | details | ||||||||||
| 3 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | alias can override builtin |
| details | |||||||||||
| 4 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | defining multiple aliases, then unalias |
| details | details | details | |||||||||
| 5 | pass | pass | pass | pass | ok | FAIL | FAIL | FAIL | pass | pass | alias not defined |
| details | details | details | details | ||||||||
| 6 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | unalias not defined |
| details | details | ||||||||||
| 7 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | unalias -a |
| details | details | ||||||||||
| 8 | pass | ok | FAIL | ok | ok | FAIL | FAIL | FAIL | pass | pass | List aliases by providing names |
| details | details | details | details | details | details | details | |||||
| 9 | pass | ok | FAIL | ok | ok | FAIL | FAIL | FAIL | FAIL | pass | alias without args lists all aliases |
| details | details | details | details | details | details | details | details | ||||
| 10 | pass | BUG | FAIL | pass | BUG | FAIL | pass | FAIL | FAIL | pass | unalias without args is a usage error |
| details | details | details | details | details | details | ||||||
| 11 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | alias with trailing space causes alias expansion on second word |
| details | details | ||||||||||
| 12 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Recursive alias expansion of first word |
| details | details | ||||||||||
| 13 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Recursive alias expansion of SECOND word |
| details | details | ||||||||||
| 14 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Expansion of alias with variable |
| details | details | ||||||||||
| 15 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Alias must be an unquoted word, no expansions allowed |
| details | details | ||||||||||
| 16 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | first and second word are the same alias, but no trailing space |
| details | details | ||||||||||
| 17 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | first and second word are the same alias, with trailing space |
| details | details | ||||||||||
| 18 | pass | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | Invalid syntax of alias |
| details | |||||||||||
| 19 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | Dynamic alias definition |
| details | |||||||||||
| 20 | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | pass | Alias name with punctuation |
| details | details | ||||||||||
| 21 | pass | pass | pass | ok | ok | FAIL | FAIL | FAIL | FAIL | pass | Syntax error after expansion |
| details | details | details | details | details | details | ||||||
| 22 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | Loop split across alias and arg works |
| details | details | details | |||||||||
| 23 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | ok | Loop split across alias in another way |
| details | details | details | details | ||||||||
| 24 | pass | pass | pass | BUG | pass | pass | FAIL | FAIL | FAIL | ok | Loop split across both iterative and recursive aliases |
| details | details | details | details | details | |||||||
| 25 | pass | pass | pass | ok | ok | FAIL | FAIL | FAIL | FAIL | pass | Alias with a quote in the middle is a syntax error |
| details | details | details | details | details | details | ||||||
| 26 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Alias with internal newlines |
| details | details | ||||||||||
| 27 | pass | pass | pass | ok | pass | pass | FAIL | pass | FAIL | pass | Alias trailing newline |
| details | details | details | |||||||||
| 28 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Two aliases in pipeline |
| details | details | ||||||||||
| 29 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Alias not respected inside $() |
| 30 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Alias can be defined and used on a single line |
| details | details | ||||||||||
| 31 | pass | pass | pass | BUG | pass | pass | FAIL | FAIL | pass | pass | Alias is respected inside eval |
| details | details | details | |||||||||
| 32 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | alias with redirects works |
| details | |||||||||||
| 33 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | alias with environment bindings works |
| details | |||||||||||
| 34 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | alias with line continuation in the middle |
| details | details | ||||||||||
| 35 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | ok | alias for left brace |
| details | details | details | details | ||||||||
| 36 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | ok | alias for left paren |
| details | details | details | details | ||||||||
| 37 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | alias used in subshell and command sub |
| details | |||||||||||
| 38 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | alias used in here doc |
| details | |||||||||||
| 39 | BUG | pass | pass | pass | pass | pass | FAIL | FAIL | FAIL | pass | here doc inside alias |
| details | details | details | details | ||||||||
| 40 | pass | N-I | FAIL | N-I | pass | pass | FAIL | pass | pass | pass | Corner case: alias inside LHS array arithmetic expression |
| details | details | details | details | ||||||||
| 41 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Alias that is pipeline |
| details | details | ||||||||||
| 42 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Alias that is && || ; |
| details | details | ||||||||||
| 43 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | Alias and command sub (bug regression) |
| details | |||||||||||
| 44 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | Alias and arithmetic |
| details | |||||||||||
| 45 | pass | BUG | pass | pass | pass | pass | FAIL | pass | FAIL | pass | Alias and PS4 |
| details | details | details | |||||||||
| 46 | pass | pass | pass | pass | pass | pass | pass | pass | pass | ok | alias with keywords |
| details | |||||||||||
| 47 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | alias with word of multiple lines |
| details |
352 passed, 17 OK, 2 not implemented, 7 BUG, 102 failed, 0 timeouts, 0 cases skipped
| dash | 0 Usage of builtins stdout: status=1 xstderr: dash: 1: shopt: not found alias: -- not found dash: 6: foo: not found |
| ash | 0 Usage of builtins [ash stdout] Expected 'status=0\nx\n' Got 'status=1\nx\n' stdout: status=1 xstderr: ash: shopt: not found alias: -- not found ash: foo: not found |
| toysh | 0 Usage of builtins [toysh stdout] Expected 'status=0\nx\n' Got 'status=127\n' stdout: status=127stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: foo: No such file or directory sh: unalias: No such file or directory sh: foo: No such file or directory |
| sush | 0 Usage of builtins [sush stdout] Expected 'status=0\nx\n' Got 'status=0\n' stdout: status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: foo: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: foo: command not found |
| toysh | 1 Basic alias [toysh stdout] Expected 'hello world\nhi\nexpected failure\n' Got 'should not run this\nhi\nexpected failure\n' stdout: should not run this hi expected failurestderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: hi: No such file or directory sh: hi: No such file or directory |
| brush | 1 Basic alias [brush stdout] Expected 'hello world\nhi\nexpected failure\n' Got 'hello world\nhi\nhello world\n' stdout: hello world hi hello worldstderr: |
| toysh | 2 define and use alias on a single line [toysh stdout] Expected 'two\nthree\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: e: No such file or directory sh: e: No such file or directory sh: e: No such file or directory |
| brush | 2 define and use alias on a single line [brush stdout] Expected 'two\nthree\n' Got 'one\ntwo\nthree\n' stdout: one two threestderr: |
| toysh | 3 alias can override builtin [toysh stdout] Expected 'foo bar\n' Got 'bar\n' stdout: barstderr: sh: shopt: No such file or directory sh: alias: No such file or directory |
| toysh | 4 defining multiple aliases, then unalias [toysh stdout] Expected 'status=0\nx X\ny Y\nstatus=0\nundefined\nundefined\n' Got 'status=127\nstatus=127\nundefined\nundefined\n' stdout: status=127 status=127 undefined undefinedstderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: echo-x: No such file or directory sh: echo-y: No such file or directory sh: unalias: No such file or directory sh: echo-x: No such file or directory sh: echo-y: No such file or directory |
| sush | 4 defining multiple aliases, then unalias [sush stdout] Expected 'status=0\nx X\ny Y\nstatus=0\nundefined\nundefined\n' Got 'status=0\nstatus=0\nundefined\nundefined\n' stdout: status=0 status=0 undefined undefinedstderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: echo-x: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: echo-y: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: echo-x: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: echo-y: command not found |
| brush | 4 defining multiple aliases, then unalias [brush stdout] Expected 'status=0\nx X\ny Y\nstatus=0\nundefined\nundefined\n' Got 'status=0\n$x X\n$y Y\nstatus=0\nundefined\nundefined\n' stdout: status=0 $x X $y Y status=0 undefined undefinedstderr: [31merror:[39m command not found: echo-x [31merror:[39m command not found: echo-y |
| mksh | 5 alias not defined stdout: nonexistentZ alias not found status=1stderr: |
| ksh | 5 alias not defined [ksh stdout] Expected 'status=1\n' Got 'nonexistentZ alias not found\nstatus=1\n' stdout: nonexistentZ alias not found status=1stderr: |
| toysh | 5 alias not defined [toysh stdout] Expected 'status=1\n' Got 'status=127\n' stdout: status=127stderr: sh: alias: No such file or directory |
| sush | 5 alias not defined [sush stdout] Expected 'status=1\n' Got 'status=0\n' stdout: status=0stderr: |
| toysh | 6 unalias not defined [toysh stdout] Expected 'status=1\n' Got 'status=127\n' stdout: status=127stderr: sh: alias: No such file or directory sh: unalias: No such file or directory |
| sush | 6 unalias not defined [sush stdout] Expected 'status=1\n' Got 'status=0\n' stdout: status=0stderr: |
| toysh | 7 unalias -a [toysh stdout] Expected '2\nstatus=0\n' Got '0\nstatus=127\n' stdout: 0 status=127stderr: sh: alias: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: unalias: No such file or directory sh: alias: No such file or directory |
| sush | 7 unalias -a [sush stdout] Expected '2\nstatus=0\n' Got '0\nstatus=0\n' stdout: 0 status=0stderr: |
| dash | 8 List aliases by providing names stdout: e='echo' ll='ls -l'stderr: |
| ash | 8 List aliases by providing names [ash stdout] Expected "alias e='echo'\nalias ll='ls -l'\n" Got "e='echo'\nll='ls -l'\n" stdout: e='echo' ll='ls -l'stderr: |
| zsh | 8 List aliases by providing names stdout: e=echo ll='ls -l'stderr: |
| mksh | 8 List aliases by providing names stdout: e=echo ll='ls -l'stderr: |
| ksh | 8 List aliases by providing names [ksh stdout] Expected "alias e='echo'\nalias ll='ls -l'\n" Got "e=echo\nll='ls -l'\n" stdout: e=echo ll='ls -l'stderr: |
| toysh | 8 List aliases by providing names [toysh stdout] Expected "alias e='echo'\nalias ll='ls -l'\n" Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: alias: No such file or directory sh: alias: No such file or directory |
| sush | 8 List aliases by providing names [sush stdout] Expected "alias e='echo'\nalias ll='ls -l'\n" Got '' stdout: stderr: |
| dash | 9 alias without args lists all aliases stdout: ex='exit' ll='ls -l' status=0stderr: |
| ash | 9 alias without args lists all aliases [ash stdout] Expected "alias ex='exit'\nalias ll='ls -l'\nstatus=0\n" Got "ex='exit'\nll='ls -l'\nstatus=0\n" stdout: ex='exit' ll='ls -l' status=0stderr: |
| zsh | 9 alias without args lists all aliases stdout: ex=exit ll='ls -l' status=0stderr: |
| mksh | 9 alias without args lists all aliases stdout: ex=exit ll='ls -l' status=0stderr: |
| ksh | 9 alias without args lists all aliases [ksh stdout] Expected "alias ex='exit'\nalias ll='ls -l'\nstatus=0\n" Got "ex=exit\nll='ls -l'\nstatus=0\n" stdout: ex=exit ll='ls -l' status=0stderr: |
| toysh | 9 alias without args lists all aliases [toysh stdout] Expected "alias ex='exit'\nalias ll='ls -l'\nstatus=0\n" Got 'status=1\n' stdout: status=1stderr: sh: alias: No such file or directory sh: alias: No such file or directory |
| sush | 9 alias without args lists all aliases [sush stdout] Expected "alias ex='exit'\nalias ll='ls -l'\nstatus=0\n" Got 'status=1\n' stdout: status=1stderr: |
| brush | 9 alias without args lists all aliases [brush stdout] Expected "alias ex='exit'\nalias ll='ls -l'\nstatus=0\n" Got "alias ll='ls -l'\nalias ex='exit'\nstatus=0\n" stdout: alias ll='ls -l' alias ex='exit' status=0stderr: |
| dash | 10 unalias without args is a usage error stdout: stderr: |
| ash | 10 unalias without args is a usage error [ash stdout] Expected 'usage-error\n' Got '' stdout: stderr: |
| mksh | 10 unalias without args is a usage error stdout: stderr: |
| ksh | 10 unalias without args is a usage error [ksh stdout] Expected 'usage-error\n' Got '' stdout: stderr: |
| sush | 10 unalias without args is a usage error [sush stdout] Expected 'usage-error\n' Got 'unalias: usage: unalias [-a] name [name ...]\n' stdout: unalias: usage: unalias [-a] name [name ...]stderr: |
| brush | 10 unalias without args is a usage error [brush stdout] Expected 'usage-error\n' Got '' stdout: stderr: |
| toysh | 11 alias with trailing space causes alias expansion on second word [toysh stdout] Expected 'hello world !!!\nhello world punct\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: hi: No such file or directory sh: alias: No such file or directory sh: hi: No such file or directory |
| brush | 11 alias with trailing space causes alias expansion on second word [brush stdout] Expected 'hello world !!!\nhello world punct\n' Got 'hello world punct\nhello world punct\n' stdout: hello world punct hello world punctstderr: |
| toysh | 12 Recursive alias expansion of first word [toysh stdout] Expected '__ hello world\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: hi: No such file or directory |
| brush | 12 Recursive alias expansion of first word [brush stdout] Expected '__ hello world\n' Got '' [brush status] Expected 0 Got 127 stdout: stderr: [31merror:[39m command not found: e_ |
| toysh | 13 Recursive alias expansion of SECOND word [toysh stdout] Expected 'one TWO hello world\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: e_: No such file or directory |
| brush | 13 Recursive alias expansion of SECOND word [brush stdout] Expected 'one TWO hello world\n' Got 'one two hello world\n' stdout: one two hello worldstderr: |
| toysh | 14 Expansion of alias with variable [toysh stdout] Expected 'y hi\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: echo-x: No such file or directory |
| brush | 14 Expansion of alias with variable [brush stdout] Expected 'y hi\n' Got '$x hi\n' stdout: $x histderr: |
| toysh | 15 Alias must be an unquoted word, no expansions allowed [toysh stdout] Expected 'X\nstatus=127\n' Got 'status=127\n' stdout: status=127stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: echo_alias_: No such file or directory sh: echo_alias_: No such file or directory |
| brush | 15 Alias must be an unquoted word, no expansions allowed [brush stdout] Expected 'X\nstatus=127\n' Got 'X\nX\nstatus=0\n' stdout: X X status=0stderr: |
| toysh | 16 first and second word are the same alias, but no trailing space [toysh stdout] Expected 'x echo-x\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: echo-x: No such file or directory |
| brush | 16 first and second word are the same alias, but no trailing space [brush stdout] Expected 'x echo-x\n' Got '$x echo-x\n' stdout: $x echo-xstderr: |
| toysh | 17 first and second word are the same alias, with trailing space [toysh stdout] Expected 'x echo x\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: echo-x: No such file or directory |
| brush | 17 first and second word are the same alias, with trailing space [brush stdout] Expected 'x echo x\n' Got '$x echo-x\n' stdout: $x echo-xstderr: |
| brush | 18 Invalid syntax of alias [brush status] Expected 127 Got -6 stdout: stderr: alias: echo --; echo: not found Well, this is embarrassing. brush had a problem and crashed. To help us diagnose the problem you can send us a crash report. We have generated a report file at "/tmp/report-cf917779-e6f5-4caf-b348-6294c300b31c.toml". Submit an issue or email with the subject of "brush Crash Report" and include the report as an attachment. To submit the crash report: please post a GitHub issue at https://github.com/reubeno/brush/issues/new We take privacy seriously, and do not perform any automated error collection. In order to improve the software, we rely on people to submit reports. Thank you kindly! |
| toysh | 19 Dynamic alias definition [toysh stdout] Expected 'X\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: echo_alias_: No such file or directory |
| ksh | 20 Alias name with punctuation [ksh stdout] Expected 'X\n' Got '' [ksh status] Expected 0 Got 127 stdout: stderr: E: ksh: <stdin>[1]: shopt: inaccessible or not found E: ksh: <stdin>[2]: alias: e_+.~x: invalid alias name E: ksh: <stdin>[3]: e_+.~x: inaccessible or not found |
| toysh | 20 Alias name with punctuation [toysh stdout] Expected 'X\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: e_+.~x: No such file or directory |
| zsh | 21 Syntax error after expansion stdout: stderr: zsh: command not found: shopt zsh: parse error near `;;' |
| mksh | 21 Syntax error after expansion stdout: stderr: mksh: <stdin>[1]: shopt: not found mksh: <stdin>[3]: syntax error: ';;' unexpected |
| ksh | 21 Syntax error after expansion [ksh status] Expected 2 Got 1 stdout: stderr: E: ksh: <stdin>[1]: shopt: inaccessible or not found E: ksh: <stdin>[3]: syntax error: unexpected ';;' |
| toysh | 21 Syntax error after expansion [toysh status] Expected 2 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: e_: No such file or directory |
| sush | 21 Syntax error after expansion [sush status] Expected 2 Got 0 stdout: stderr: |
| brush | 21 Syntax error after expansion [brush status] Expected 2 Got 127 stdout: stderr: [31merror:[39m command not found: ;; |
| toysh | 22 Loop split across alias and arg works [toysh stdout] Expected '1\n2\n3\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: e_: No such file or directory |
| sush | 22 Loop split across alias and arg works [sush stdout] Expected '1\n2\n3\n' Got '' [sush status] Expected 0 Got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: syntax error near unexpected token: do |
| brush | 22 Loop split across alias and arg works [brush stdout] Expected '1\n2\n3\n' Got '' [brush status] Expected 0 Got 127 stdout: stderr: [31merror:[39m command not found: for |
| toysh | 23 Loop split across alias in another way [toysh stdout] Expected '1\n2\n3\n' Got '' [toysh status] Expected 0 Got 2 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory main: line 3: sh: syntax error: done |
| sush | 23 Loop split across alias in another way [sush stdout] Expected '1\n2\n3\n' Got '' [sush status] Expected 0 Got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: syntax error near unexpected token: do |
| brush | 23 Loop split across alias in another way [brush stdout] Expected '1\n2\n3\n' Got '' [brush status] Expected 0 Got 2 stdout: stderr: [31merror:[39m main: syntax error near token ` ' (line 1 col 12) |
| osh | 23 Loop split across alias in another way stdout: stderr: for i in 1 2 3; do echo $i
^
[ expansion of alias 'e_' ]:1: Expected word type Id.KW_Done, got Id.Eof_Real
|
| zsh | 24 Loop split across both iterative and recursive aliases stdout: stderr: zsh: command not found: shopt |
| toysh | 24 Loop split across both iterative and recursive aliases [toysh stdout] Expected '1\n2\n3\n' Got '' [toysh status] Expected 0 Got 2 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory main: line 9: sh: syntax error: do |
| sush | 24 Loop split across both iterative and recursive aliases [sush stdout] Expected '1\n2\n3\n' Got '' [sush status] Expected 0 Got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: syntax error near unexpected token: do |
| brush | 24 Loop split across both iterative and recursive aliases [brush stdout] Expected '1\n2\n3\n' Got '' [brush status] Expected 0 Got 2 stdout: stderr: [31merror:[39m main: syntax error near token `echo' (line 1 col 27) |
| osh | 24 Loop split across both iterative and recursive aliases stdout: stderr: for i in $one "2" 3
^
[ expansion of alias 'FOR1' ]:1: Invalid word in for loop
|
| zsh | 25 Alias with a quote in the middle is a syntax error stdout: stderr: zsh: command not found: shopt zsh: unmatched ' |
| mksh | 25 Alias with a quote in the middle is a syntax error stdout: stderr: mksh: <stdin>[1]: shopt: not found mksh: <stdin>[5]: no closing quote |
| ksh | 25 Alias with a quote in the middle is a syntax error [ksh status] Expected 2 Got 1 stdout: stderr: E: ksh: <stdin>[1]: shopt: inaccessible or not found E: ksh: <stdin>[5]: no closing quote |
| toysh | 25 Alias with a quote in the middle is a syntax error [toysh status] Expected 2 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: e_: No such file or directory |
| sush | 25 Alias with a quote in the middle is a syntax error [sush status] Expected 2 Got 0 stdout: ${var}"
stderr: |
| brush | 25 Alias with a quote in the middle is a syntax error [brush status] Expected 2 Got 0 stdout: " ${var}"
stderr: |
| toysh | 26 Alias with internal newlines [toysh stdout] Expected '1\n2\n3 echo foo\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: e_: No such file or directory |
| brush | 26 Alias with internal newlines [brush stdout] Expected '1\n2\n3 echo foo\n' Got '1 echo 2 echo 3 echo foo\n' stdout: 1 echo 2 echo 3 echo foostderr: |
| zsh | 27 Alias trailing newline stdout: 1 2 3stderr: zsh: command not found: shopt zsh: command not found: echo foo |
| toysh | 27 Alias trailing newline [toysh stdout] Expected '1\n2\n3\nfoo\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: e_: No such file or directory |
| brush | 27 Alias trailing newline [brush stdout] Expected '1\n2\n3\nfoo\n' Got '1 echo 2 echo 3 echo foo\n' stdout: 1 echo 2 echo 3 echo foostderr: |
| toysh | 28 Two aliases in pipeline [toysh stdout] Expected '3\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: SEQ: No such file or directory sh: WC: No such file or directory |
| brush | 28 Two aliases in pipeline [brush stdout] Expected '3\n' Got '0\n' stdout: 0stderr: seq: invalid floating point argument: ‘THREE’ Try 'seq --help' for more information. |
| toysh | 30 Alias can be defined and used on a single line [toysh stdout] Expected 'hello other line\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: sayhi: No such file or directory sh: sayhi: No such file or directory |
| brush | 30 Alias can be defined and used on a single line [brush stdout] Expected 'hello other line\n' Got 'hello same line\nhello other line\n' stdout: hello same line hello other linestderr: |
| zsh | 31 Alias is respected inside eval stdout: hello outsidestderr: zsh: command not found: shopt zsh: command not found: sayhi |
| toysh | 31 Alias is respected inside eval [toysh stdout] Expected 'hello inside\nhello outside\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: sayhi: No such file or directory sh: sayhi: No such file or directory |
| sush | 31 Alias is respected inside eval [sush stdout] Expected 'hello inside\nhello outside\n' Got 'hello outside\n' stdout: hello outsidestderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: sayhi: command not found |
| toysh | 32 alias with redirects works [toysh stdout] Expected '1\n2\n3\n' Got '' stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: e_: No such file or directory sh: e_: No such file or directory sh: e_: No such file or directory |
| toysh | 33 alias with environment bindings works [toysh stdout] Expected '1\n2\n' Got '1\n' [toysh status] Expected 0 Got 127 stdout: 1stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: p_: No such file or directory |
| toysh | 34 alias with line continuation in the middle [toysh stdout] Expected 'ONE TWO ONE TWO THREE two one\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: alias: No such file or directory sh: e_: No such file or directory |
| brush | 34 alias with line continuation in the middle [brush stdout] Expected 'ONE TWO ONE TWO THREE two one\n' Got 'one\n' [brush status] Expected 0 Got 127 stdout: onestderr: [31merror:[39m command not found: TWO [31merror:[39m command not found: TWO [31merror:[39m command not found: ONE |
| toysh | 35 alias for left brace [toysh stdout] Expected 'one\ntwo\n' Got '' [toysh status] Expected 0 Got 2 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory main: line 3: sh: syntax error: } |
| sush | 35 alias for left brace [sush stdout] Expected 'one\ntwo\n' Got '' [sush status] Expected 0 Got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: syntax error near unexpected token: } |
| brush | 35 alias for left brace [brush stdout] Expected 'one\ntwo\n' Got '' [brush status] Expected 0 Got 2 stdout: stderr: [31merror:[39m main: syntax error near token ` ' (line 1 col 27) |
| osh | 35 alias for left brace stdout: stderr: { echo one
^
[ expansion of alias 'LEFT' ]:1: Expected word type Id.Lit_RBrace, got Id.Eof_Real
|
| toysh | 36 alias for left paren [toysh stdout] Expected 'one\ntwo\n' Got '' [toysh status] Expected 0 Got 2 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory main: line 3: sh: syntax error: ) |
| sush | 36 alias for left paren [sush stdout] Expected 'one\ntwo\n' Got '' stdout: stderr: |
| brush | 36 alias for left paren [brush stdout] Expected 'one\ntwo\n' Got '' [brush status] Expected 0 Got 2 stdout: stderr: [31merror:[39m main: syntax error near token `)' (line 1 col 25) |
| osh | 36 alias for left paren stdout: stderr: ( echo one
^
[ expansion of alias 'LEFT' ]:1: Expected word type Id.Right_Subshell, got Id.Eof_Real
|
| toysh | 37 alias used in subshell and command sub [toysh stdout] Expected '[ subshell\n[ commandsub\n' Got '\n' stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: echo_: No such file or directory sh: echo_: No such file or directory |
| toysh | 38 alias used in here doc [toysh stdout] Expected '[ ]\n' Got '\n' stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: echo_: No such file or directory |
| bash | 39 here doc inside alias stdout: stderr: bash: line 6: warning: here-document at line 6 delimited by end-of-file (wanted `EOF') bash: line 6: hi: command not found bash: line 6: EOF: command not found |
| toysh | 39 here doc inside alias [toysh stdout] Expected 'hi\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: c: No such file or directory |
| sush | 39 here doc inside alias [sush stdout] Expected 'hi\n' Got '' [sush status] Expected 0 Got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: syntax error: unexpected end of file |
| brush | 39 here doc inside alias [brush stdout] Expected 'hi\n' Got '' [brush status] Expected 0 Got 1 stdout: stderr: cat: '<<EOF': No such file or directory cat: '$(echo': No such file or directory cat: 'hi)': No such file or directory cat: EOF: No such file or directory |
| dash | 40 Corner case: alias inside LHS array arithmetic expression stdout: stderr: dash: 1: shopt: not found dash: 3: a[0]=ZERO: not found dash: 4: a[1]=ONE: not found dash: 5: Bad substitution |
| ash | 40 Corner case: alias inside LHS array arithmetic expression [ash stdout] Expected "['ZERO', 'ONE']\n" Got '' [ash status] Expected 0 Got 2 stdout: stderr: ash: shopt: not found ash: a[0]=ZERO: not found ash: a[1]=ONE: not found ash: syntax error: bad substitution |
| zsh | 40 Corner case: alias inside LHS array arithmetic expression stdout: stderr: zsh: command not found: shopt zsh: not an identifier: a[$(zeroech |
| toysh | 40 Corner case: alias inside LHS array arithmetic expression [toysh stdout] Expected "['ZERO', 'ONE']\n" Got "['']\n" stdout: ['']stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: zero: No such file or directory sh: a[]=ZERO: No such file or directory sh: a[1]=ONE: No such file or directory |
| toysh | 41 Alias that is pipeline [toysh stdout] Expected '3\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: t1: No such file or directory |
| brush | 41 Alias that is pipeline [brush stdout] Expected '3\n' Got 'hi|wc -c\n' stdout: hi|wc -cstderr: |
| toysh | 42 Alias that is && || ; [toysh stdout] Expected 'one\ntwo\n1\nfour\n' Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: t1: No such file or directory |
| brush | 42 Alias that is && || ; [brush stdout] Expected 'one\ntwo\n1\nfour\n' Got 'one && echo two && echo 3 | wc -l; echo four\n' stdout: one && echo two && echo 3 | wc -l; echo fourstderr: |
| toysh | 43 Alias and command sub (bug regression) [toysh stdout] Expected "['foo', 'bar']\n" Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: a: No such file or directory |
| toysh | 44 Alias and arithmetic [toysh stdout] Expected "['3']\n" Got '' [toysh status] Expected 0 Got 127 stdout: stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: a: No such file or directory |
| dash | 45 Alias and PS4 stdout: stderr: |
| toysh | 45 Alias and PS4 [toysh stdout] Expected "['foo', 'bar']\n" Got '' [toysh status] Expected 0 Got -6 stdout: stderr: munmap_chunk(): invalid pointer |
| brush | 45 Alias and PS4 [brush stdout] Expected "['foo', 'bar']\n" Got '' [brush status] Expected 0 Got -6 stdout: stderr: + PS4='+$(echo trace) ' thread 'main' has overflowed its stack fatal runtime error: stack overflow |
| osh | 46 alias with keywords stdout: stderr: ^ [ expansion of alias 'a' ]:1: Unexpected EOF while parsing command |
| toysh | 47 alias with word of multiple lines [toysh stdout] Expected 'status=2\n' Got 'status=127\n' stdout: status=127stderr: sh: shopt: No such file or directory sh: alias: No such file or directory sh: ll: No such file or directory |