Results for dbracket.test.sh

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

Details on runs that didn't PASS

dash0 [[ glob matching, [[ has no glob expansion

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

stdout:
false
stderr:
dash: 1: [[: not found
dash: 2: [[: not found
toysh0 [[ glob matching, [[ has no glob expansion

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

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

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
toysh1 [[ glob matching with escapes

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

stdout:
stderr: 
dash2 equality

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

stdout:
false
stderr:
dash: 1: [[: not found
dash: 2: [[: not found
ash2 equality

[ash stdout] Expected 'true\nfalse\n', got 'true\n'

stdout:
true
stderr:
dash3 [[ glob matching with unquoted var

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

stdout:
false
stderr:
dash: 2: [[: not found
dash: 3: [[: not found
zsh3 [[ glob matching with unquoted var

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

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

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

stdout:
false
stderr:
dash4 [[ regex matching

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

stdout:
false
stderr:
dash: 2: [[: not found
dash: 3: [[: not found
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 '=~'
dash5 [[ regex syntax error

[dash status] Expected 2, got 127

stdout:
stderr: 
dash: 1: [[: not found
ash5 [[ regex syntax error

[ash status] Expected 2, got 1

stdout:
stderr: 
zsh5 [[ regex syntax error

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: failed to compile regex: Invalid preceding regular expression
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)*'
dash6 [[ has no word splitting

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 2: [[: not found
ash6 [[ has no word splitting

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

stdout:
stderr: 
ash: two: unknown operand
dash7 [[ has quote joining

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 2: [[: not found
ash7 [[ has quote joining

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

stdout:
stderr: 
ash: two: unknown operand
dash8 [[ empty string is false

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

stdout:
false
stderr:
dash: 1: [[: not found
dash: 2: [[: not found
toysh9 && chain

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

stdout:
stderr: 
dash10 || chain

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
dash: 1: : Permission denied
dash: 1: t: not found
toysh10 || chain

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

stdout:
stderr: 
dash11 [[ compound expressions

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

stdout:
stderr: 
dash: 1: Syntax error: word unexpected
ash11 [[ compound expressions

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

stdout:
stderr: 
ash: syntax error: unexpected "("
toysh11 [[ compound expressions

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

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

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
dash: 1: : Permission denied
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: 
dash14 Octal literals with -eq

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

stdout:
false
stderr:
dash: 1: shopt: not found
dash: 4: [[: not found
dash: 5: [[: not found
ash14 Octal literals with -eq

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

stdout:
false
stderr:
ash: shopt: not found
ash: ZZZ017: bad number
zsh14 Octal literals with -eq

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

stdout:
false
stderr:
zsh: command not found: shopt
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
dash15 Hex literals with -eq

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

stdout:
false
stderr:
dash: 1: shopt: not found
dash: 4: [[: not found
dash: 5: [[: not found
ash15 Hex literals with -eq

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

stdout:
false
stderr:
ash: shopt: not found
ash: 0x0f: bad number
ash: ZZZ0x0f: bad number
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
dash16 > on strings

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

stdout:
false
stderr:
dash: 1: [[: not found
dash: 2: [[: not found
ash16 > on strings

[ash stdout] Expected 'true\nfalse\n', got 'true\n'

stdout:
true
stderr:
dash17 != on strings

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

stdout:
false
stderr:
dash: 1: [[: not found
dash: 2: [[: not found
dash18 -eq on strings

[dash stdout] Expected 'true\ntrue\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: shopt: not found
dash: 2: [[: not found
dash: 3: [[: not found
ash18 -eq on strings

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

stdout:
stderr: 
ash: shopt: not found
ash: a: bad number
ash: a: bad number
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
dash19 [[ compare with literal -f (compare with test-builtin.test.sh)

[dash stdout] Expected 'true\ntrue\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 2: [[: not found
dash: 3: [[: not found
dash20 [[ with op variable (compare with test-builtin.test.sh)

[dash status] Expected 2, got 0

stdout:
false
stderr:
dash: 2: [[: not found
dash: 3: [[: not found
ash20 [[ with op variable (compare with test-builtin.test.sh)

[ash status] Expected 2, got 0

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

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: condition expected: $op
zsh: condition expected: $op
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'
dash21 [[ with unquoted empty var (compare with test-builtin.test.sh)

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 2: [[: not found
ash21 [[ with unquoted empty var (compare with test-builtin.test.sh)

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

stdout:
stderr: 
ash: : unknown operand
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
ash22 [[ at runtime doesn't work

[ash status] Expected 127, got 0

stdout:
stderr: 
zsh22 [[ at runtime doesn't work

[zsh status] Expected 127, got 1

stdout:
stderr: 
zsh: = not found
toysh22 [[ at runtime doesn't work

[toysh status] Expected 127, got 0

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

[ash status] Expected 127, got 0

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

[zsh status] Expected 127, got 1

stdout:
stderr: 
zsh: parse error near `[['
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)
dash24 [[ over multiple lines is OK

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

stdout:
stderr: 
dash: 1: [[: not found
dash: 2: Syntax error: "&&" unexpected
ash24 [[ over multiple lines is OK

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

stdout:
stderr: 
ash: missing ]]
ash: syntax error: unexpected "&&"
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: &&
zsh25 Argument that looks like a command word operator

[zsh stdout] Expected 'false\nfalse\n', got 'false\n'
[zsh status] Expected 0, got 1

stdout:
false
stderr:
zsh: = not found
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)
dash26 Argument that looks like a real operator

[dash status] Expected 2, got 127

stdout:
stderr: 
dash: 1: cannot open ]]: No such file
dash: 1: [[: not found
ash26 Argument that looks like a real operator

[ash status] Expected 2, got 1

stdout:
stderr: 
ash: can't open ]]: no such file
zsh26 Argument that looks like a real operator

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: parse error near `]]'
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: 
dash27 User array compared to "$@" (broken unless shopt -s strict_array)

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

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash27 User array compared to "$@" (broken unless shopt -s strict_array)

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

stdout:
stderr: 
ash: syntax error: unexpected "("
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'
dash28 Array coerces to string (shopt -s strict_array to disallow)

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

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash28 Array coerces to string (shopt -s strict_array to disallow)

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

stdout:
stderr: 
ash: syntax error: unexpected "("
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")
dash29 (( array1 == array2 )) doesn't work

[dash status] Expected 1, got 2

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash29 (( array1 == array2 )) doesn't work

[ash status] Expected 1, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh29 (( array1 == array2 )) doesn't work

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

stdout:
status=2
status=2
status=2
stderr:
zsh: bad math expression: operator expected at `3 5'
zsh: bad math expression: operator expected at `3 5'
zsh: bad math expression: operator expected at `3 6'
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'
dash30 Quotes don't matter in comparison

[dash stdout] Expected 'true\ntrue\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
dash: 2: [[: not found
dash31 -eq does dynamic arithmetic parsing (not supported in OSH)

[dash stdout] Expected 'true\ntrue\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
dash: 3: [[: not found
ash31 -eq does dynamic arithmetic parsing (not supported in OSH)

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

stdout:
stderr: 
ash: 1+2: bad number
ash: 1+2: bad number
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
dash32 -eq coercion produces weird results

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: shopt: not found
dash: 2: [[: not found
ash32 -eq coercion produces weird results

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

stdout:
stderr: 
ash: shopt: not found
ash: bad number
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: 
dash33 [[ '(' ]] is treated as literal

[dash stdout] Expected 'status=0\n', got 'status=127\n'

stdout:
status=127
stderr:
dash: 1: [[: not found
toysh33 [[ '(' ]] is treated as literal

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

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

[dash status] Expected 2, got 0

stdout:
status=127
stderr:
dash: 1: [[: not found
ash34 [[ '(' foo ]] is syntax error

[ash status] Expected 2, got 0

stdout:
status=2
stderr:
ash: closing paren expected
zsh34 [[ '(' foo ]] is syntax error

[zsh status] Expected 2, got 0

stdout:
status=1
stderr:
zsh: parse error: condition expected: '('
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)
dash35 empty ! is treated as literal

[dash stdout] Expected 'status=0\n', got 'status=127\n'

stdout:
status=127
stderr:
dash: 1: [[: not found
toysh35 empty ! is treated as literal

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

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

[dash status] Expected 2, got 0

stdout:
status=127
stderr:
dash: 1: [[: not found
ash36 [[ -z ]] is syntax error

[ash status] Expected 2, got 0

stdout:
status=0
stderr:
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:
dash38 [[ -z '>' a ]] is syntax error

[dash status] Expected 2, got 0

stdout:
status=127
stderr:
dash: 1: [[: not found
ash38 [[ -z '>' a ]] is syntax error

[ash status] Expected 2, got 0

stdout:
status=0
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)
dash40 [[ ]] is syntax error

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

stdout:
status=127
stderr:
dash: 1: [[: not found
ash40 [[ ]] is syntax error

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

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

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: parse error near `echo'
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: ]]

dash41 [[ && ]] is syntax error

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

stdout:
status=127
stderr:
dash: 1: [[: not found
ash41 [[ && ]] is syntax error

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

stdout:
status=0
stderr:
zsh41 [[ && ]] is syntax error

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

stdout:
status=1
stderr:
zsh: parse error near `&&'
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)
dash42 [[ a 3< b ]] doesn't work (bug regression)

[dash status] Expected 2, got 0

stdout:
status=127
status=127
stderr:
dash: 1: cannot open b: No such file
dash: 1: [[: not found
dash: 3: [[: not found
ash42 [[ a 3< b ]] doesn't work (bug regression)

[ash status] Expected 2, got 0

stdout:
status=1
status=0
stderr:
ash: can't open b: no such file
zsh42 [[ a 3< b ]] doesn't work (bug regression)

stdout:
status=0
status=1
stderr:
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)
dash43 tilde expansion in [[

[dash stdout] Expected 'status=0\nstatus=0\nstatus=1\n', got 'status=127\nstatus=127\nstatus=127\n'

stdout:
status=127
status=127
status=127
stderr:
dash: 2: [[: not found
dash: 5: [[: not found
dash: 8: [[: not found
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:
dash44 more tilde expansion

[dash stdout] Expected 'status=0\nstatus=1\nunary=1\nstatus=0\nfnmatch=0\nfnmatch=0\n' Got 'status=127\nstatus=127\nunary=127\nstatus=127\nfnmatch=127\nfnmatch=127\n'

stdout:
status=127
status=127
unary=127
status=127
fnmatch=127
fnmatch=127
stderr:
dash: 1: [[: not found
dash: 4: [[: not found
dash: 6: [[: not found
dash: 9: [[: not found
dash: 12: [[: not found
dash: 14: [[: not found
ash44 more tilde expansion

[ash stdout] Expected 'status=0\nstatus=1\nunary=1\nstatus=0\nfnmatch=0\nfnmatch=0\n' Got 'status=0\nstatus=1\nunary=0\nstatus=0\nfnmatch=0\nfnmatch=0\n'

stdout:
status=0
status=1
unary=0
status=0
fnmatch=0
fnmatch=0
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:
dash45 tilde expansion with =~ (confusing)

[dash stdout] Expected 'regex=0\nregex=0\nregex=1\nregex=0\n', got 'regex=127\nregex=127\nregex=127\nregex=127\n'

stdout:
regex=127
regex=127
regex=127
regex=127
stderr:
dash: 4: [[: not found
dash: 6: [[: not found
dash: 10: [[: not found
dash: 12: [[: not found
ash45 tilde expansion with =~ (confusing)

[ash 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:
zsh45 tilde expansion with =~ (confusing)

stdout:
regex=0
regex=0
regex=1
regex=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:
dash46 [[ ]] with redirect

[dash stdout] Expected '0\n--\nSTDERR\n', got '127\n--\ndash: 1: [[: not found\n'

stdout:
127
--
dash: 1: [[: not found
stderr:
STDERR
ash46 [[ ]] with redirect

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

stdout:
0
--
stderr:
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.4014596/46-brush/x.txt: No such file or directory
dash47 special chars

[dash stdout] Expected 'caret 0\nbang 0\n', got 'caret 127\nbang 127\n'

stdout:
caret 127
bang 127
stderr:
dash: 1: [[: not found
dash: 3: [[: not found
sush47 special chars

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

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

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

stdout:
stderr: 
dash: 1: [[: not found
dash: 2: [[: not found
dash: 3: [[: not found
dash: 5: shopt: not found
dash: 7: [[: not found
dash: 8: [[: not found
dash: 9: [[: not found
ash48 \(\) in pattern (regression)

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

stdout:
match1
match2
match3
match1
match2
match3
stderr:
ash: shopt: not found
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: 
dash49 negative numbers - zero, decimal, octal, hex, base N

[dash stdout] Expected 'zero=0\ndecimal=0\noctal=0\nhex=0\nbaseN=0\n', got 'zero=127\ndecimal=127\noctal=127\nhex=127\nbaseN=127\n'

stdout:
zero=127
decimal=127
octal=127
hex=127
baseN=127
stderr:
dash: 1: [[: not found
dash: 3: [[: not found
dash: 5: [[: not found
dash: 7: [[: not found
dash: 9: [[: not found
ash49 negative numbers - zero, decimal, octal, hex, base N

[ash 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:
ash: -0xff: bad number
ash: -64#a: bad number
zsh49 negative numbers - zero, decimal, octal, hex, base N

[zsh stdout] Expected 'zero=0\ndecimal=0\noctal=0\nhex=0\nbaseN=0\n', got 'zero=0\ndecimal=0\noctal=1\nhex=0\n'
[zsh status] Expected 0, got 1

stdout:
zero=0
decimal=0
octal=1
hex=0
stderr:
zsh: invalid base (must be 2 to 36 inclusive): -64
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'