Results for dbracket.test.sh

statusoshosh_.pyosh_.cc
pass 484846
N-I 111
FAIL 002
total494949
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
48pass pass pass \(\) in pattern (regression)
142 passed, 0 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 = 1729
	gNumDelete = 107
	gMemPos = 60640

	gNumMalloc = 33
	gNumFree = 0
	gMemPos2 = 9120
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 = 1736
	gNumDelete = 114
	gMemPos = 61040

	gNumMalloc = 35
	gNumFree = 0
	gMemPos2 = 9152
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:111: void posix::dup2(int, int): Assertion `0' failed.