brace-expansion () { run-file brace-expansion "$@" } run-file () { local spec_name=$1; shift; sh-spec spec/$spec_name.test.sh --compare-shells --oils-bin-dir $PWD/bin "$@" } brace-expansion: spec test case results

Results for brace-expansion.test.sh

statusbashmkshzshosh
pass 46323850
ok 0355
N-I 01620
BUG 94100
total55555555
casebashmkshzshoshdescription
0pass pass pass pass no expansion
1pass pass pass ok incomplete trailing expansion
details
2pass pass pass ok partial leading expansion
details
3pass pass pass ok partial leading expansion 2
details
4pass pass ok ok } in expansion
detailsdetails
5pass pass pass pass single expansion
6pass pass pass pass double expansion
7pass pass pass pass triple expansion
8pass pass pass pass double expansion with single and double quotes
9pass pass pass pass expansion with mixed quotes
10pass pass pass pass expansion with simple var
11BUG pass pass pass double expansion with simple var -- bash bug
details
12pass pass pass pass double expansion with braced variable
13BUG pass pass pass double expansion with literal and simple var
details
14pass pass pass pass expansion with command sub
15pass pass pass pass expansion with arith sub
16pass pass pass pass double expansion with escaped literals
17BUG pass BUG pass { in expansion
detailsdetails
18pass pass pass pass quoted { in expansion
19pass pass pass pass Empty expansion
20pass ok ok pass Empty alternative
detailsdetails
21pass pass pass pass Empty alternative with empty string suffix
22pass pass pass pass nested brace expansion
23pass pass pass pass triple nested brace expansion
24pass pass pass pass nested and double brace expansion
25pass BUG pass pass expansion on RHS of assignment
details
26pass pass ok pass no expansion with RHS assignment
details
27pass pass pass pass Tilde expansion
28pass BUG pass pass Tilde expansion with brace expansion
details
29pass BUG pass pass Two kinds of tilde expansion
details
30pass pass pass pass Tilde expansion come before var expansion
31pass N-I pass pass Number range expansion
details
32BUG N-I BUG pass Ascending number range expansion with negative step is invalid
detailsdetailsdetails
33BUG N-I BUG pass regression: -1 step disallowed
detailsdetailsdetails
34BUG N-I BUG pass regression: 0 step disallowed
detailsdetailsdetails
35BUG N-I BUG pass Descending number range expansion with positive step is invalid
detailsdetailsdetails
36pass N-I BUG pass Descending number range expansion with negative step
detailsdetails
37pass N-I pass pass Singleton ranges
details
38pass N-I BUG pass Singleton char ranges with steps
detailsdetails
39pass N-I pass pass Char range expansion
details
40pass N-I N-I pass Char range expansion with step
detailsdetails
41BUG BUG BUG pass Char ranges with steps of the wrong sign
detailsdetailsdetails
42BUG ok BUG pass Mixed case char expansion is invalid
detailsdetailsdetails
43pass N-I N-I pass Descending char range expansion
detailsdetails
44pass N-I pass pass Fixed width number range expansion
details
45pass N-I ok pass Inconsistent fixed width number range expansion
detailsdetails
46pass N-I pass pass Inconsistent fixed width number range expansion
details
47pass N-I pass pass Adjacent comma and range works
details
48pass N-I pass pass Range inside comma works
details
49pass pass pass pass Mixed comma and range doesn't work
50pass pass pass ok comma and invalid range (adjacent and nested)
details
51pass pass pass pass OSH provides an alternative to invalid syntax
52pass ok ok pass Side effect in expansion
detailsdetails
53pass pass pass pass Invalid brace expansions don't expand
54pass pass BUG pass Invalid brace expansions mixing characters and numbers
details
166 passed, 13 OK, 18 not implemented, 23 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh1 incomplete trailing expansion

stdout:
{a,b}_{
stderr:
osh2 partial leading expansion

stdout:
}_{a,b}
stderr:
osh3 partial leading expansion 2

stdout:
{x}_{a,b}
stderr:
zsh4 } in expansion

stdout:
stderr: 
zsh: parse error near `}'
osh4 } in expansion

stdout:
{a,b}}
stderr:
bash11 double expansion with simple var -- bash bug

stdout:
b_c b_d
stderr:
bash13 double expansion with literal and simple var

stdout:
_ _ b_c b_d
stderr:
bash17 { in expansion

stdout:
{a {b
stderr:
zsh17 { in expansion

stdout:
{a {b
stderr:
mksh20 Empty alternative

stdout:
['X', '', 'Y', '']
stderr:
zsh20 Empty alternative

stdout:
['X', '', 'Y', '']
stderr:
mksh25 expansion on RHS of assignment

stdout:
X Y
stderr:
zsh26 no expansion with RHS assignment

stdout:
stderr: 
zsh: parse error near `\n'
mksh28 Tilde expansion with brace expansion

stdout:
foo~/bar ~/bar
-- foo~/bar
-- ~/bar
== foo~/bar
== ~/bar
stderr:
mksh29 Two kinds of tilde expansion

stdout:
~/src ~root
-- ~/src
-- ~root
== ~/src
== ~root
stderr:
mksh31 Number range expansion

stdout:
-{1..8..3}-
-{1..10..3}-
stderr:
bash32 Ascending number range expansion with negative step is invalid

stdout:
-1- -4- -7-
stderr:
mksh32 Ascending number range expansion with negative step is invalid

stdout:
-{1..8..-3}-
stderr:
zsh32 Ascending number range expansion with negative step is invalid

stdout:
-7- -4- -1-
stderr:
bash33 regression: -1 step disallowed

stdout:
-1- -2- -3- -4-
stderr:
mksh33 regression: -1 step disallowed

stdout:
-{1..4..-1}-
stderr:
zsh33 regression: -1 step disallowed

stdout:
-4- -3- -2- -1-
stderr:
bash34 regression: 0 step disallowed

stdout:
-1- -2- -3- -4-
stderr:
mksh34 regression: 0 step disallowed

stdout:
-{1..4..0}-
stderr:
zsh34 regression: 0 step disallowed

stdout:
-1..4..0-
stderr:
bash35 Descending number range expansion with positive step is invalid

stdout:
-8- -5- -2-
stderr:
mksh35 Descending number range expansion with positive step is invalid

stdout:
-{8..1..3}-
stderr:
zsh35 Descending number range expansion with positive step is invalid

stdout:
-8- -5- -2-
stderr:
mksh36 Descending number range expansion with negative step

stdout:
-{8..1..-3}-
stderr:
zsh36 Descending number range expansion with negative step

stdout:
-2- -5- -8-
stderr:
mksh37 Singleton ranges

stdout:
{1..1}-
{-9..-9}-
{-9..-9..3}-
{-9..-9..-3}-
{a..a}-
stderr:
mksh38 Singleton char ranges with steps

stdout:
{a..a..2}-
{a..a..-2}-
stderr:
zsh38 Singleton char ranges with steps

stdout:
{a..a..2}-
{a..a..-2}-
stderr:
mksh39 Char range expansion

stdout:
-{a..e}-
stderr:
mksh40 Char range expansion with step

stdout:
-{a..e..2}-
stderr:
zsh40 Char range expansion with step

stdout:
-{a..e..2}-
stderr:
bash41 Char ranges with steps of the wrong sign

stdout:
-a- -c- -e-
-e- -c- -a-
stderr:
mksh41 Char ranges with steps of the wrong sign

stdout:
-{a..e..-2}-
-{e..a..2}-
stderr:
zsh41 Char ranges with steps of the wrong sign

stdout:
-{a..e..-2}-
-{e..a..2}-
stderr:
bash42 Mixed case char expansion is invalid

stdout:
stderr: 
bash: line 2: bad substitution: no closing "`" in `-
bash: line 3: bad substitution: no closing "`" in `-
mksh42 Mixed case char expansion is invalid

stdout:
-{z..A}-
-{z..A..2}-
stderr:
zsh42 Mixed case char expansion is invalid

stdout:
BUG
stderr:
mksh43 Descending char range expansion

stdout:
-{e..a..-2}-
stderr:
zsh43 Descending char range expansion

stdout:
-{e..a..-2}-
stderr:
mksh44 Fixed width number range expansion

stdout:
-{01..03}-
-{09..12}-
-{12..07}-
stderr:
mksh45 Inconsistent fixed width number range expansion

stdout:
-{01..003}-
stderr:
zsh45 Inconsistent fixed width number range expansion

stdout:
-01- -02- -03-
stderr:
mksh46 Inconsistent fixed width number range expansion

stdout:
-{01..3}-
stderr:
mksh47 Adjacent comma and range works

stdout:
-a{1..3}- -b{1..3}-
stderr:
mksh48 Range inside comma works

stdout:
-a- -_{1..3}_- -b-
stderr:
osh50 comma and invalid range (adjacent and nested)

stdout:
-{a,b}{1...3}-
-{a,{1...3}}-
{a,b}{}
stderr:
mksh52 Side effect in expansion

stdout:
a-0 b-0 c-0
stderr:
zsh52 Side effect in expansion

stdout:
a-0 b-0 c-0
stderr:
zsh54 Invalid brace expansions mixing characters and numbers

stdout:
BUG
stderr: