Results for dbracket.test.sh

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

Details on runs that didn't PASS

osh_.cc5 [[ regex syntax error

[osh_.cc status] Expected 2, got 1

stdout:
stderr: 
  [[ foo.py =~ * ]] && echo true
  ^~
[ stdin ]:1: fatal: Invalid regex '*': Invalid regex syntax (regex_match)
osh_.cc16 > on strings

[osh_.cc stdout] Expected u'true\nfalse\n', got ''

stdout:
stderr: 
osh_.py22 [[ at runtime doesn't work

[osh_.py status] Expected 127, got 0

stdout:
(cmd_value.Argv argv:['[[' foo '==' foo ']]'] arg_spids:[3 5 7 10 12])
stderr:
Unhandled SimpleCommand
osh_.cc22 [[ at runtime doesn't work

[osh_.cc status] Expected 127, got 0

stdout:
(cmd_value.Argv argv:['[[' foo '==' foo ']]'] arg_spids:[3 5 7 10 12])
stderr:
Unhandled SimpleCommand
osh_.py23 [[ with env prefix doesn't work

[osh_.py status] Expected 127, got 0

stdout:
(cmd_value.Argv argv:['[[' foo '==' foo ']]'] arg_spids:[3 5 7 10 12])
stderr:
Unhandled SimpleCommand
osh_.cc23 [[ with env prefix doesn't work

[osh_.cc status] Expected 127, got 0

stdout:
(cmd_value.Argv argv:['[[' foo '==' foo ']]'] arg_spids:[3 5 7 10 12])
stderr:
Unhandled SimpleCommand
osh31 -eq does dynamic arithmetic parsing (not supported in OSH)

stdout:
stderr: 
  [[ 1+2 -eq 3 ]] && echo true
     ^
[ stdin ]:1: fatal: Invalid integer constant '1+2'
osh_.py31 -eq does dynamic arithmetic parsing (not supported in OSH)

stdout:
stderr: 
  [[ 1+2 -eq 3 ]] && echo true
     ^
[ stdin ]:1: fatal: Invalid integer constant '1+2'
osh_.cc31 -eq does dynamic arithmetic parsing (not supported in OSH)

stdout:
stderr: 
  [[ 1+2 -eq 3 ]] && echo true
  ^~
[ stdin ]:1: fatal: Invalid integer constant '1+2'
osh_.py46 [[ ]] with redirect

[osh_.py stdout] Expected '0\n--\nSTDERR\n', got "1\n--\n(cmd_value.Argv argv:[cat '/x.txt'] arg_spids:[24 26])\n"

stdout:
1
--
(cmd_value.Argv argv:[cat '/x.txt'] arg_spids:[24 26])
stderr:
Unhandled SimpleCommand
osh_.cc46 [[ ]] with redirect

[osh_.cc stdout] Expected '0\n--\nSTDERR\n', got "1\n--\n(cmd_value.Argv argv:[cat '/x.txt'] arg_spids:[24 26])\n"

stdout:
1
--
(cmd_value.Argv argv:[cat '/x.txt'] arg_spids:[24 26])
stderr:
Unhandled SimpleCommand
osh48 \(\) in pattern (regression)

stdout:
match1
match2
stderr:
osh_.py48 \(\) in pattern (regression)

stdout:
match1
match2
stderr:
osh_.cc48 \(\) in pattern (regression)

stdout:
match1
match2
stderr:
osh49 extglob quoted and unquoted

stdout:
lit2
pat2
stderr:
osh_.py49 extglob quoted and unquoted

stdout:
lit2
pat2
stderr:
osh_.cc49 extglob quoted and unquoted

stdout:
lit2
pat2
stderr: