Results for dbracket.test.sh

statusoshosh_.pyosh_.cc
pass 474745
ok 222
N-I 111
FAIL 002
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 pass > on strings
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 pass pass [[ at runtime doesn't work
23pass pass pass [[ with env prefix doesn't work
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 pass FAIL [[ ]] with redirect
details
47pass pass pass special chars
48ok ok ok \(\) in pattern (regression)
detailsdetailsdetails
49ok ok ok extglob quoted and unquoted
detailsdetailsdetails
139 passed, 6 OK, 3 not implemented, 0 BUG, 2 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)

dumb_alloc:
	gNumNew = 1683
	gNumDelete = 107
	gMemPos = 59168

	gNumMalloc = 34
	gNumFree = 0
	gMemPos2 = 8960
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'

dumb_alloc:
	gNumNew = 1690
	gNumDelete = 114
	gMemPos = 59568

	gNumMalloc = 36
	gNumFree = 0
	gMemPos2 = 8992
osh_.cc46 [[ ]] with redirect

[osh_.cc stdout] Expected '0\n--\nSTDERR\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.opt: cpp/posix.h:143: void posix::dup2(int, int): Assertion `0' failed.
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:
dumb_alloc:
	gNumNew = 2804
	gNumDelete = 285
	gMemPos = 91296

	gNumMalloc = 297
	gNumFree = 0
	gMemPos2 = 13152
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:
dumb_alloc:
	gNumNew = 2654
	gNumDelete = 272
	gMemPos = 87600

	gNumMalloc = 257
	gNumFree = 0
	gMemPos2 = 12512