Results for dbracket.test.sh

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

Details on runs that didn't PASS

osh49 [[ -v array[i] ]]

[osh stdout] Expected 'zero=0\none=0\ntwo=1\n', got 'zero=1\none=1\ntwo=1\n'

stdout:
zero=1
one=1
two=1
stderr:
osh-cpp49 [[ -v array[i] ]]

[osh-cpp stdout] Expected 'zero=0\none=0\ntwo=1\n', got 'zero=1\none=1\ntwo=1\n'

stdout:
zero=1
one=1
two=1
stderr:
osh50 [[ -v array[expr]] ]] does arith expression evaluation

[osh stdout] Expected 'zero=0\none=0\ntwo=1\n---\nzero=0\none=0\ntwo=1\n---\nzero=0\none=0\ntwo=1\n' Got 'zero=1\none=1\ntwo=1\n---\nzero=1\none=1\ntwo=1\n---\nzero=1\none=1\ntwo=1\n'

stdout:
zero=1
one=1
two=1
---
zero=1
one=1
two=1
---
zero=1
one=1
two=1
stderr:
osh-cpp50 [[ -v array[expr]] ]] does arith expression evaluation

[osh-cpp stdout] Expected 'zero=0\none=0\ntwo=1\n---\nzero=0\none=0\ntwo=1\n---\nzero=0\none=0\ntwo=1\n' Got 'zero=1\none=1\ntwo=1\n---\nzero=1\none=1\ntwo=1\n---\nzero=1\none=1\ntwo=1\n'

stdout:
zero=1
one=1
two=1
---
zero=1
one=1
two=1
---
zero=1
one=1
two=1
stderr:
osh51 [[ -v assoc[key] ]]

[osh stdout] Expected 'empty=0\nk=0\nnonexistent=1\n---\nempty=0\nk=0\nnonexistent=1\n---\nempty=0\nk=0\nnonexistent=1\n' Got 'empty=1\nk=1\nnonexistent=1\n---\nempty=1\nk=1\nnonexistent=1\n---\nempty=1\nk=1\nnonexistent=1\n'

stdout:
empty=1
k=1
nonexistent=1
---
empty=1
k=1
nonexistent=1
---
empty=1
k=1
nonexistent=1
stderr:
osh-cpp51 [[ -v assoc[key] ]]

[osh-cpp stdout] Expected 'empty=0\nk=0\nnonexistent=1\n---\nempty=0\nk=0\nnonexistent=1\n---\nempty=0\nk=0\nnonexistent=1\n' Got 'empty=1\nk=1\nnonexistent=1\n---\nempty=1\nk=1\nnonexistent=1\n---\nempty=1\nk=1\nnonexistent=1\n'

stdout:
empty=1
k=1
nonexistent=1
---
empty=1
k=1
nonexistent=1
---
empty=1
k=1
nonexistent=1
stderr: