264 passed, 7 OK, 5 not implemented, 3 BUG, 71 failed, 0 timeouts, 0 cases skipped
toysh | 0 [[ glob matching, [[ has no glob expansion [toysh stdout] Expected 'true\nfalse\n', got 'false\n' stdout: falsestderr: |
toysh | 1 [[ glob matching with escapes [toysh stdout] Expected 'true\n', got '' [toysh status] Expected 0, got 1 stdout: stderr: |
toysh | 3 [[ glob matching with unquoted var [toysh stdout] Expected 'true\nfalse\n', got 'false\n' stdout: falsestderr: |
mksh | 4 [[ regex matching stdout: stderr: mksh: <stdin>[2]: syntax error: '=~' unexpected operator/operand |
ksh | 4 [[ regex matching [ksh stdout] Expected 'true\nfalse\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: E: ksh: <stdin>[2]: syntax error: unexpected operator/operand '=~' |
mksh | 5 [[ regex syntax error stdout: stderr: mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand |
ksh | 5 [[ regex syntax error [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~' |
toysh | 5 [[ regex syntax error [toysh status] Expected 2, got 1 stdout: stderr: |
brush | 5 [[ regex syntax error [brush status] Expected 2, got 1 stdout: stderr: [33m WARN[0m error using regex: invalid regex: Parsing error at position 5: Target of repeat operator is invalid; expression: '(?ms)*' |
toysh | 9 && chain [toysh stdout] Expected 'false\n', got '' [toysh status] Expected 0, got -11 stdout: stderr: |
toysh | 10 || chain [toysh stdout] Expected 'true\n', got '' [toysh status] Expected 0, got -11 stdout: stderr: |
toysh | 11 [[ compound expressions [toysh stdout] Expected 'true\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: 1 |
toysh | 12 precedence of && and || inside [[ [toysh stdout] Expected 'true\n', got '' [toysh status] Expected 0, got -11 stdout: stderr: |
sush | 12 precedence of && and || inside [[ [sush stdout] Expected 'true\n', got '' [sush status] Expected 0, got 1 stdout: stderr: |
mksh | 14 Octal literals with -eq stdout: falsestderr: mksh: <stdin>[1]: shopt: not found |
ksh | 14 Octal literals with -eq [ksh stdout] Expected 'true\nfalse\n', got 'false\n' stdout: falsestderr: E: ksh: <stdin>[1]: shopt: inaccessible or not found |
mksh | 15 Hex literals with -eq stdout: falsestderr: mksh: <stdin>[1]: shopt: not found mksh: <stdin>[4]: 0x0f: bad number '0x0f' |
ksh | 15 Hex literals with -eq [ksh stdout] Expected 'true\nfalse\n', got 'false\n' stdout: falsestderr: E: ksh: <stdin>[1]: shopt: inaccessible or not found W: ksh: <stdin>[4]: 0x0f: bad number: Invalid argument |
toysh | 18 -eq on strings [toysh stdout] Expected 'true\ntrue\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: sh: shopt: No such file or directory [[: not integer: a [[: not integer: a |
mksh | 20 [[ with op variable (compare with test-builtin.test.sh) stdout: stderr: mksh: <stdin>[2]: syntax error: '$op' unexpected operator/operand |
ksh | 20 [[ with op variable (compare with test-builtin.test.sh) [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[2]: syntax error: unexpected operator/operand '$op' |
toysh | 20 [[ with op variable (compare with test-builtin.test.sh) [toysh status] Expected 2, got 0 stdout: true falsestderr: |
sush | 20 [[ with op variable (compare with test-builtin.test.sh) [sush status] Expected 2, got 0 stdout: falsestderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: syntax error in conditional expression: unexpected token `a' /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: syntax error in conditional expression: unexpected token `a' |
toysh | 21 [[ with unquoted empty var (compare with test-builtin.test.sh) [toysh stdout] Expected 'true\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: [[: too many arguments |
toysh | 22 [[ at runtime doesn't work [toysh status] Expected 127, got 0 stdout: stderr: |
toysh | 23 [[ with env prefix doesn't work [toysh status] Expected 127, got 0 stdout: stderr: |
sush | 23 [[ with env prefix doesn't work [sush status] Expected 127, got 2 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: foo |
brush | 23 [[ with env prefix doesn't work [brush status] Expected 127, got 2 stdout: stderr: [31mERROR[0m main: syntax error near token `foo' (line 1 col 12) |
toysh | 24 [[ over multiple lines is OK [toysh stdout] Expected 'true\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: && |
brush | 25 Argument that looks like a command word operator [brush stdout] Expected 'false\nfalse\n', got 'false\n' [brush status] Expected 0, got 2 stdout: falsestderr: [31mERROR[0m main: syntax error near token `false' (line 1 col 21) |
mksh | 26 Argument that looks like a real operator stdout: stderr: mksh: <stdin>[1]: syntax error: '-f' missing argument |
ksh | 26 Argument that looks like a real operator [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[1]: syntax error: missing argument '-f' |
toysh | 26 Argument that looks like a real operator [toysh status] Expected 2, got 1 stdout: stderr: |
toysh | 27 User array compared to "$@" (broken unless shopt -s strict_array) [toysh stdout] Expected 'true\nfalse\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: '1 3' |
toysh | 28 Array coerces to string (shopt -s strict_array to disallow) [toysh stdout] Expected 'true\nfalse\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: '1 3' |
bash | 29 (( array1 == array2 )) doesn't work stdout: status=1 status=1 status=1stderr: bash: line 6: ((: 1 3: syntax error in expression (error token is "3") bash: line 9: ((: 1 3: syntax error in expression (error token is "3") bash: line 12: ((: 1 3: syntax error in expression (error token is "3") |
toysh | 29 (( array1 == array2 )) doesn't work [toysh status] Expected 1, got 2 stdout: stderr: main: line 1: sh: syntax error: '1 3' |
sush | 29 (( array1 == array2 )) doesn't work [sush stdout] Expected u'', got 'status=1\nstatus=1\nstatus=1\n' [sush status] Expected 1, got 0 stdout: status=1 status=1 status=1stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: ((: a == b : syntax error in expression (error token is "3") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: ((: a == c : syntax error in expression (error token is "3") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 12: ((: a == d : syntax error in expression (error token is "3") |
brush | 29 (( array1 == array2 )) doesn't work [brush stdout] Expected u'', got 'status=1\nstatus=1\nstatus=1\n' [brush status] Expected 1, got 0 stdout: status=1 status=1 status=1stderr: [31mERROR[0m error: arithmetic evaluation error: failed to parse expression: '1 3' [31mERROR[0m error: arithmetic evaluation error: failed to parse expression: '1 3' [31mERROR[0m error: arithmetic evaluation error: failed to parse expression: '1 3' |
toysh | 31 -eq does dynamic arithmetic parsing (not supported in OSH) [toysh stdout] Expected 'true\ntrue\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: [[: not integer: 1+2 [[: not integer: 1+2 |
toysh | 32 -eq coercion produces weird results [toysh stdout] Expected 'true\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: sh: shopt: No such file or directory [[: not integer: |
toysh | 33 [[ '(' ]] is treated as literal [toysh stdout] Expected 'status=0\n', got 'status=2\n' stdout: status=2stderr: [[: need arg @1 |
mksh | 34 [[ '(' foo ]] is syntax error stdout: stderr: mksh: <stdin>[1]: syntax error: 'foo' unexpected operator/operand |
ksh | 34 [[ '(' foo ]] is syntax error [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[1]: syntax error: unexpected operator/operand 'foo' |
toysh | 34 [[ '(' foo ]] is syntax error [toysh status] Expected 2, got 0 stdout: status=2stderr: [[: need ) |
sush | 34 [[ '(' foo ]] is syntax error [sush status] Expected 2, got 0 stdout: status=2stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: syntax error in conditional expression: unexpected token `'('' |
brush | 34 [[ '(' foo ]] is syntax error [brush status] Expected 2, got 0 stdout: status=2stderr: [31mERROR[0m main: syntax error near token `foo' (line 1 col 8) |
toysh | 35 empty ! is treated as literal [toysh stdout] Expected 'status=0\n', got 'status=2\n' stdout: status=2stderr: [[: need arg @1 |
mksh | 36 [[ -z ]] is syntax error stdout: stderr: mksh: <stdin>[2]: syntax error: 'echo' unexpected operator/operand |
ksh | 36 [[ -z ]] is syntax error [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[2]: syntax error: unexpected operator/operand 'echo' |
toysh | 36 [[ -z ]] is syntax error [toysh status] Expected 2, got 0 stdout: status=0stderr: |
sush | 36 [[ -z ]] is syntax error [sush status] Expected 2, got 0 stdout: status=2stderr: |
mksh | 38 [[ -z '>' a ]] is syntax error stdout: stderr: mksh: <stdin>[1]: syntax error: '--' unexpected operator/operand |
ksh | 38 [[ -z '>' a ]] is syntax error [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '--' |
toysh | 38 [[ -z '>' a ]] is syntax error [toysh status] Expected 2, got 0 stdout: status=0stderr: |
sush | 38 [[ -z '>' a ]] is syntax error [sush status] Expected 2, got 0 stdout: status=2stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: syntax error in conditional expression: unexpected token `'>'' |
brush | 38 [[ -z '>' a ]] is syntax error [brush status] Expected 2, got 0 stdout: status=2stderr: [31mERROR[0m main: syntax error near token `--' (line 1 col 11) |
mksh | 40 [[ ]] is syntax error stdout: stderr: mksh: <stdin>[1]: syntax error: 'newline' unexpected operator/operand |
ksh | 40 [[ ]] is syntax error [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[1]: syntax error: unexpected operator/operand 'newline' |
toysh | 40 [[ ]] is syntax error [toysh stdout] Expected u'', got 'status=1\n' [toysh status] Expected 2, got 0 stdout: status=1stderr: |
sush | 40 [[ ]] is syntax error [sush stdout] Expected u'', got 'status=2\n' [sush status] Expected 2, got 0 stdout: status=2stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: ]] |
mksh | 41 [[ && ]] is syntax error stdout: stderr: mksh: <stdin>[1]: syntax error: '&&' expression expected |
ksh | 41 [[ && ]] is syntax error [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[1]: syntax error: expression expected '&&' |
sush | 41 [[ && ]] is syntax error [sush stdout] Expected u'', got 'status=2\n' [sush status] Expected 2, got 0 stdout: status=2stderr: |
brush | 41 [[ && ]] is syntax error [brush stdout] Expected u'', got 'status=2\n' [brush status] Expected 2, got 0 stdout: status=2stderr: [31mERROR[0m main: syntax error near token `&&' (line 1 col 4) |
mksh | 42 [[ a 3< b ]] doesn't work (bug regression) stdout: status=0 status=1stderr: |
ksh | 42 [[ a 3< b ]] doesn't work (bug regression) [ksh status] Expected 2, got 0 stdout: status=0 status=1stderr: |
toysh | 42 [[ a 3< b ]] doesn't work (bug regression) [toysh status] Expected 2, got 0 stdout: status=2 status=2stderr: [[: too many arguments [[: too many arguments |
sush | 42 [[ a 3< b ]] doesn't work (bug regression) [sush status] Expected 2, got 0 stdout: status=2 status=2stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: syntax error in conditional expression: unexpected token `a' /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: syntax error in conditional expression: unexpected token `a' |
brush | 42 [[ a 3< b ]] doesn't work (bug regression) [brush status] Expected 2, got 0 stdout: status=2 status=2stderr: [31mERROR[0m main: syntax error near token `3' (line 1 col 6) [31mERROR[0m main: syntax error near token `3' (line 1 col 6) |
toysh | 43 tilde expansion in [[ [toysh stdout] Expected 'status=0\nstatus=0\nstatus=1\n', got 'status=0\nstatus=1\nstatus=1\n' stdout: status=0 status=1 status=1stderr: |
toysh | 44 more tilde expansion [toysh stdout] Expected 'status=0\nstatus=1\nunary=1\nstatus=0\nfnmatch=0\nfnmatch=0\n' Got 'status=0\nstatus=0\nunary=0\nstatus=0\nfnmatch=2\nfnmatch=2\n' stdout: status=0 status=0 unary=0 status=0 fnmatch=2 fnmatch=2stderr: [[: too many arguments [[: too many arguments |
sush | 44 more tilde expansion [sush stdout] Expected 'status=0\nstatus=1\nunary=1\nstatus=0\nfnmatch=0\nfnmatch=0\n' Got 'status=0\nstatus=0\nunary=0\nstatus=0\nfnmatch=1\nfnmatch=1\n' stdout: status=0 status=0 unary=0 status=0 fnmatch=1 fnmatch=1stderr: |
mksh | 45 tilde expansion with =~ (confusing) stdout: stderr: |
ksh | 45 tilde expansion with =~ (confusing) [ksh stdout] Expected 'regex=0\nregex=0\nregex=1\nregex=0\n', got '' [ksh status] Expected 0, got 1 stdout: stderr: E: ksh: <stdin>[4]: syntax error: unexpected operator/operand '=~' |
toysh | 45 tilde expansion with =~ (confusing) [toysh stdout] Expected 'regex=0\nregex=0\nregex=1\nregex=0\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
sush | 45 tilde expansion with =~ (confusing) [sush stdout] Expected 'regex=0\nregex=0\nregex=1\nregex=0\n', got 'regex=0\nregex=0\nregex=1\nregex=1\n' stdout: regex=0 regex=0 regex=1 regex=1stderr: |
toysh | 46 [[ ]] with redirect [toysh stdout] Expected '0\n--\nSTDERR\n', got '0\n\nSTDERR\n' stdout: 0 STDERRstderr: |
brush | 46 [[ ]] with redirect [brush stdout] Expected '0\n--\nSTDERR\n', got '2\n--\n' [brush status] Expected 0, got 1 stdout: 2 --stderr: [31mERROR[0m main: syntax error near token `2' (line 1 col 37) cat: /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/dbracket.test.sh.3688309/46-brush/x.txt: No such file or directory |
sush | 47 special chars [sush stdout] Expected 'caret 0\nbang 0\n', got 'caret 0\nbang 2\n' stdout: caret 0 bang 2stderr: |
toysh | 48 \(\) in pattern (regression) [toysh stdout] Expected 'match1\nmatch2\nmatch1\nmatch2\n', got '' stdout: stderr: sh: shopt: No such file or directory |
sush | 48 \(\) in pattern (regression) [sush stdout] Expected 'match1\nmatch2\nmatch1\nmatch2\n', got '' stdout: stderr: |
mksh | 49 negative numbers - zero, decimal, octal, hex, base N stdout: zero=0 decimal=0 octal=1 hex=2 baseN=2stderr: mksh: <stdin>[7]: -0xff: bad number '0xff' mksh: <stdin>[9]: -64#a: bad number '64#a' |
ksh | 49 negative numbers - zero, decimal, octal, hex, base N [ksh stdout] Expected 'zero=0\ndecimal=0\noctal=0\nhex=0\nbaseN=0\n', got 'zero=0\ndecimal=0\noctal=1\nhex=2\nbaseN=2\n' stdout: zero=0 decimal=0 octal=1 hex=2 baseN=2stderr: W: ksh: <stdin>[7]: -0xff: bad number '0xff': Invalid argument W: ksh: <stdin>[9]: -64#a: bad number '64#a': Invalid argument |
toysh | 49 negative numbers - zero, decimal, octal, hex, base N [toysh stdout] Expected 'zero=0\ndecimal=0\noctal=0\nhex=0\nbaseN=0\n', got 'zero=0\ndecimal=0\noctal=0\nhex=0\nbaseN=2\n' stdout: zero=0 decimal=0 octal=0 hex=0 baseN=2stderr: [[: not integer: -64#a |
brush | 49 negative numbers - zero, decimal, octal, hex, base N [brush stdout] Expected 'zero=0\ndecimal=0\noctal=0\nhex=0\nbaseN=0\n', got 'zero=0\ndecimal=0\noctal=0\nhex=0\n' stdout: zero=0 decimal=0 octal=0 hex=0stderr: [31mERROR[0m error: arithmetic evaluation error: failed to parse expression: '-64#a' |