Results for dbracket.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 49363617364050
ok 0700000
N-I 0500000
BUG 1200000
FAIL 00143314100
total50505050505050
casebashmkshkshtoyshsushbrushoshdescription
0pass pass pass FAIL pass pass pass [[ glob matching, [[ has no glob expansion
details
1pass pass pass FAIL pass pass pass [[ glob matching with escapes
details
2pass pass pass pass pass pass pass equality
3pass pass pass FAIL pass pass pass [[ glob matching with unquoted var
details
4pass N-I FAIL pass pass pass pass [[ regex matching
detailsdetails
5pass N-I FAIL FAIL pass FAIL pass [[ regex syntax error
detailsdetailsdetailsdetails
6pass pass pass pass pass pass pass [[ has no word splitting
7pass pass pass pass pass pass pass [[ has quote joining
8pass pass pass pass pass pass pass [[ empty string is false
9pass pass pass FAIL pass pass pass && chain
details
10pass pass pass FAIL pass pass pass || chain
details
11pass pass pass FAIL pass pass pass [[ compound expressions
details
12pass pass pass FAIL FAIL pass pass precedence of && and || inside [[
detailsdetails
13pass pass pass pass pass pass pass precedence of && and || in a command context
14pass N-I FAIL pass pass pass pass Octal literals with -eq
detailsdetails
15pass N-I FAIL pass pass pass pass Hex literals with -eq
detailsdetails
16pass pass pass pass pass pass pass > on strings
17pass pass pass pass pass pass pass != on strings
18pass pass pass FAIL pass pass pass -eq on strings
details
19pass pass pass pass pass pass pass [[ compare with literal -f (compare with test-builtin.test.sh)
20pass ok FAIL FAIL FAIL pass pass [[ with op variable (compare with test-builtin.test.sh)
detailsdetailsdetailsdetails
21pass pass pass FAIL pass pass pass [[ with unquoted empty var (compare with test-builtin.test.sh)
details
22pass pass pass FAIL pass pass pass [[ at runtime doesn't work
details
23pass pass pass FAIL FAIL FAIL pass [[ with env prefix doesn't work
detailsdetailsdetails
24pass pass pass FAIL pass pass pass [[ over multiple lines is OK
details
25pass pass pass pass pass FAIL pass Argument that looks like a command word operator
details
26pass ok FAIL FAIL pass pass pass Argument that looks like a real operator
detailsdetailsdetails
27pass pass pass FAIL pass pass pass User array compared to "$@" (broken unless shopt -s strict_array)
details
28pass pass pass FAIL pass pass pass Array coerces to string (shopt -s strict_array to disallow)
details
29BUG pass pass FAIL FAIL FAIL pass (( array1 == array2 )) doesn't work
detailsdetailsdetailsdetails
30pass pass pass pass pass pass pass Quotes don't matter in comparison
31pass pass pass FAIL pass pass pass -eq does dynamic arithmetic parsing (not supported in OSH)
details
32pass pass pass FAIL pass pass pass -eq coercion produces weird results
details
33pass pass pass FAIL pass pass pass [[ '(' ]] is treated as literal
details
34pass ok FAIL FAIL FAIL FAIL pass [[ '(' foo ]] is syntax error
detailsdetailsdetailsdetailsdetails
35pass pass pass FAIL pass pass pass empty ! is treated as literal
details
36pass ok FAIL FAIL FAIL pass pass [[ -z ]] is syntax error
detailsdetailsdetailsdetails
37pass pass pass pass pass pass pass [[ -z '>' ]]
38pass ok FAIL FAIL FAIL FAIL pass [[ -z '>' a ]] is syntax error
detailsdetailsdetailsdetailsdetails
39pass pass pass pass pass pass pass test whether ']]' is empty
40pass ok FAIL FAIL FAIL pass pass [[ ]] is syntax error
detailsdetailsdetailsdetails
41pass ok FAIL pass FAIL FAIL pass [[ && ]] is syntax error
detailsdetailsdetailsdetails
42pass BUG FAIL FAIL FAIL FAIL pass [[ a 3< b ]] doesn't work (bug regression)
detailsdetailsdetailsdetailsdetails
43pass pass pass FAIL pass pass pass tilde expansion in [[
details
44pass pass pass FAIL FAIL pass pass more tilde expansion
detailsdetails
45pass N-I FAIL FAIL FAIL pass pass tilde expansion with =~ (confusing)
detailsdetailsdetailsdetails
46pass pass pass FAIL pass FAIL pass [[ ]] with redirect
detailsdetails
47pass pass pass pass FAIL pass pass special chars
details
48pass pass pass FAIL FAIL pass pass \(\) in pattern (regression)
detailsdetails
49pass BUG FAIL FAIL pass FAIL pass negative numbers - zero, decimal, octal, hex, base N
detailsdetailsdetailsdetails
264 passed, 7 OK, 5 not implemented, 3 BUG, 71 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

toysh0 [[ glob matching, [[ has no glob expansion

[toysh stdout] Expected 'true\nfalse\n', got 'false\n'

stdout:
false
stderr:
toysh1 [[ glob matching with escapes

[toysh stdout] Expected 'true\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
toysh3 [[ glob matching with unquoted var

[toysh stdout] Expected 'true\nfalse\n', got 'false\n'

stdout:
false
stderr:
mksh4 [[ regex matching

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: '=~' unexpected operator/operand
ksh4 [[ 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 '=~'
mksh5 [[ regex syntax error

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh5 [[ regex syntax error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh5 [[ regex syntax error

[toysh status] Expected 2, got 1

stdout:
stderr: 
brush5 [[ regex syntax error

[brush status] Expected 2, got 1

stdout:
stderr: 
 WARN error using regex: invalid regex: Parsing error at position 5: Target of repeat operator is invalid; expression: '(?ms)*'
toysh9 && chain

[toysh stdout] Expected 'false\n', got ''
[toysh status] Expected 0, got -11

stdout:
stderr: 
toysh10 || chain

[toysh stdout] Expected 'true\n', got ''
[toysh status] Expected 0, got -11

stdout:
stderr: 
toysh11 [[ compound expressions

[toysh stdout] Expected 'true\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: 1
toysh12 precedence of && and || inside [[

[toysh stdout] Expected 'true\n', got ''
[toysh status] Expected 0, got -11

stdout:
stderr: 
sush12 precedence of && and || inside [[

[sush stdout] Expected 'true\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
mksh14 Octal literals with -eq

stdout:
false
stderr:
mksh: <stdin>[1]: shopt: not found
ksh14 Octal literals with -eq

[ksh stdout] Expected 'true\nfalse\n', got 'false\n'

stdout:
false
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
mksh15 Hex literals with -eq

stdout:
false
stderr:
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[4]: 0x0f: bad number '0x0f'
ksh15 Hex literals with -eq

[ksh stdout] Expected 'true\nfalse\n', got 'false\n'

stdout:
false
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
W: ksh: <stdin>[4]: 0x0f: bad number: Invalid argument
toysh18 -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
mksh20 [[ with op variable (compare with test-builtin.test.sh)

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: '$op' unexpected operator/operand
ksh20 [[ 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'
toysh20 [[ with op variable (compare with test-builtin.test.sh)

[toysh status] Expected 2, got 0

stdout:
true
false
stderr:
sush20 [[ with op variable (compare with test-builtin.test.sh)

[sush status] Expected 2, got 0

stdout:
false
stderr:
/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'
toysh21 [[ 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
toysh22 [[ at runtime doesn't work

[toysh status] Expected 127, got 0

stdout:
stderr: 
toysh23 [[ with env prefix doesn't work

[toysh status] Expected 127, got 0

stdout:
stderr: 
sush23 [[ 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
brush23 [[ with env prefix doesn't work

[brush status] Expected 127, got 2

stdout:
stderr: 
ERROR main: syntax error near token `foo' (line 1 col 12)
toysh24 [[ 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: &&
brush25 Argument that looks like a command word operator

[brush stdout] Expected 'false\nfalse\n', got 'false\n'
[brush status] Expected 0, got 2

stdout:
false
stderr:
ERROR main: syntax error near token `false' (line 1 col 21)
mksh26 Argument that looks like a real operator

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '-f' missing argument
ksh26 Argument that looks like a real operator

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: missing argument '-f'
toysh26 Argument that looks like a real operator

[toysh status] Expected 2, got 1

stdout:
stderr: 
toysh27 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'
toysh28 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'
bash29 (( array1 == array2 )) doesn't work

stdout:
status=1
status=1
status=1
stderr:
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")
toysh29 (( array1 == array2 )) doesn't work

[toysh status] Expected 1, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: '1 3'
sush29 (( 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=1
stderr:
/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")
brush29 (( 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=1
stderr:
ERROR error: arithmetic evaluation error: failed to parse expression: '1 3'
ERROR error: arithmetic evaluation error: failed to parse expression: '1 3'
ERROR error: arithmetic evaluation error: failed to parse expression: '1 3'
toysh31 -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
toysh32 -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: 
toysh33 [[ '(' ]] is treated as literal

[toysh stdout] Expected 'status=0\n', got 'status=2\n'

stdout:
status=2
stderr:
[[: need arg @1
mksh34 [[ '(' foo ]] is syntax error

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: 'foo' unexpected operator/operand
ksh34 [[ '(' foo ]] is syntax error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand 'foo'
toysh34 [[ '(' foo ]] is syntax error

[toysh status] Expected 2, got 0

stdout:
status=2
stderr:
[[: need )
sush34 [[ '(' foo ]] is syntax error

[sush status] Expected 2, got 0

stdout:
status=2
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: syntax error in conditional expression: unexpected token `'(''
brush34 [[ '(' foo ]] is syntax error

[brush status] Expected 2, got 0

stdout:
status=2
stderr:
ERROR main: syntax error near token `foo' (line 1 col 8)
toysh35 empty ! is treated as literal

[toysh stdout] Expected 'status=0\n', got 'status=2\n'

stdout:
status=2
stderr:
[[: need arg @1
mksh36 [[ -z ]] is syntax error

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: 'echo' unexpected operator/operand
ksh36 [[ -z ]] is syntax error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: syntax error: unexpected operator/operand 'echo'
toysh36 [[ -z ]] is syntax error

[toysh status] Expected 2, got 0

stdout:
status=0
stderr:
sush36 [[ -z ]] is syntax error

[sush status] Expected 2, got 0

stdout:
status=2
stderr:
mksh38 [[ -z '>' a ]] is syntax error

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '--' unexpected operator/operand
ksh38 [[ -z '>' a ]] is syntax error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '--'
toysh38 [[ -z '>' a ]] is syntax error

[toysh status] Expected 2, got 0

stdout:
status=0
stderr:
sush38 [[ -z '>' a ]] is syntax error

[sush status] Expected 2, got 0

stdout:
status=2
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: syntax error in conditional expression: unexpected token `'>''
brush38 [[ -z '>' a ]] is syntax error

[brush status] Expected 2, got 0

stdout:
status=2
stderr:
ERROR main: syntax error near token `--' (line 1 col 11)
mksh40 [[ ]] is syntax error

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: 'newline' unexpected operator/operand
ksh40 [[ ]] is syntax error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand 'newline'
toysh40 [[ ]] is syntax error

[toysh stdout] Expected u'', got 'status=1\n'
[toysh status] Expected 2, got 0

stdout:
status=1
stderr:
sush40 [[ ]] is syntax error

[sush stdout] Expected u'', got 'status=2\n'
[sush status] Expected 2, got 0

stdout:
status=2
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: ]]

mksh41 [[ && ]] is syntax error

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '&&' expression expected
ksh41 [[ && ]] is syntax error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: expression expected '&&'
sush41 [[ && ]] is syntax error

[sush stdout] Expected u'', got 'status=2\n'
[sush status] Expected 2, got 0

stdout:
status=2
stderr:
brush41 [[ && ]] is syntax error

[brush stdout] Expected u'', got 'status=2\n'
[brush status] Expected 2, got 0

stdout:
status=2
stderr:
ERROR main: syntax error near token `&&' (line 1 col 4)
mksh42 [[ a 3< b ]] doesn't work (bug regression)

stdout:
status=0
status=1
stderr:
ksh42 [[ a 3< b ]] doesn't work (bug regression)

[ksh status] Expected 2, got 0

stdout:
status=0
status=1
stderr:
toysh42 [[ a 3< b ]] doesn't work (bug regression)

[toysh status] Expected 2, got 0

stdout:
status=2
status=2
stderr:
[[: too many arguments
[[: too many arguments
sush42 [[ a 3< b ]] doesn't work (bug regression)

[sush status] Expected 2, got 0

stdout:
status=2
status=2
stderr:
/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'
brush42 [[ a 3< b ]] doesn't work (bug regression)

[brush status] Expected 2, got 0

stdout:
status=2
status=2
stderr:
ERROR main: syntax error near token `3' (line 1 col 6)
ERROR main: syntax error near token `3' (line 1 col 6)
toysh43 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=1
stderr:
toysh44 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=2
stderr:
[[: too many arguments
[[: too many arguments
sush44 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=1
stderr:
mksh45 tilde expansion with =~ (confusing)

stdout:
stderr: 
ksh45 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 '=~'
toysh45 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: (
sush45 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=1
stderr:
toysh46 [[ ]] with redirect

[toysh stdout] Expected '0\n--\nSTDERR\n', got '0\n\nSTDERR\n'

stdout:
0

STDERR
stderr:
brush46 [[ ]] with redirect

[brush stdout] Expected '0\n--\nSTDERR\n', got '2\n--\n'
[brush status] Expected 0, got 1

stdout:
2
--
stderr:
ERROR 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
sush47 special chars

[sush stdout] Expected 'caret 0\nbang 0\n', got 'caret 0\nbang 2\n'

stdout:
caret 0
bang 2
stderr:
toysh48 \(\) in pattern (regression)

[toysh stdout] Expected 'match1\nmatch2\nmatch1\nmatch2\n', got ''

stdout:
stderr: 
sh: shopt: No such file or directory
sush48 \(\) in pattern (regression)

[sush stdout] Expected 'match1\nmatch2\nmatch1\nmatch2\n', got ''

stdout:
stderr: 
mksh49 negative numbers - zero, decimal, octal, hex, base N

stdout:
zero=0
decimal=0
octal=1
hex=2
baseN=2
stderr:
mksh: <stdin>[7]: -0xff: bad number '0xff'
mksh: <stdin>[9]: -64#a: bad number '64#a'
ksh49 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=2
stderr:
W: ksh: <stdin>[7]: -0xff: bad number '0xff': Invalid argument
W: ksh: <stdin>[9]: -64#a: bad number '64#a': Invalid argument
toysh49 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=2
stderr:
[[: not integer: -64#a
brush49 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=0
stderr:
ERROR error: arithmetic evaluation error: failed to parse expression: '-64#a'