Results for brace-expansion.test.sh

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

stdout:
{a,b}}
stderr:
brush9 expansion with mixed quotes

[brush stdout] Expected '-Xb- -cd-\n', got '-{Xb,cd}-\n'

stdout:
-{Xb,cd}-
stderr:
bash11 double expansion with simple var -- bash bug

stdout:
b_c b_d
stderr:
toysh11 double expansion with simple var -- bash bug

[toysh stdout] Expected 'A_c A_d b_c b_d\n', got 'b_c b_d\n'

stdout:
b_c b_d
stderr:
sush11 double expansion with simple var -- bash bug

[sush stdout] Expected 'A_c A_d b_c b_d\n', got 'b_c b_d\n'

stdout:
b_c b_d
stderr:
brush11 double expansion with simple var -- bash bug

[brush stdout] Expected 'A_c A_d b_c b_d\n', got 'b_c b_d\n'

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

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

[toysh stdout] Expected '_A_c _A_d b_c b_d\n', got '_ _ b_c b_d\n'

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

[sush stdout] Expected '_A_c _A_d b_c b_d\n', got '_ _ b_c b_d\n'

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

[brush stdout] Expected '_A_c _A_d b_c b_d\n', got '{_A,b}_c {_A,b}_d\n'

stdout:
{_A,b}_c {_A,b}_d
stderr:
bash17 { in expansion

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

[toysh stdout] Expected '{{a,b}\n', got '{a {b\n'

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

[sush stdout] Expected '{{a,b}\n', got '{a {b\n'

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

[brush stdout] Expected '{{a,b}\n', got '{a {b\n'

stdout:
{a {b
stderr:
mksh20 Empty alternative

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

[ksh stdout] Expected "['X', 'Y']\n", got "['X', '', 'Y', '']\n"

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

[brush stdout] Expected "['X', 'Y']\n", got "['X', '', 'Y', '']\n"

stdout:
['X', '', 'Y', '']
stderr:
brush22 nested brace expansion

[brush stdout] Expected '-A- -=a=- -=b=- -B-\n', got '-A=,B}- -={a=,B}- -b=,B}-\n'

stdout:
-A=,B}- -={a=,B}- -b=,B}-
stderr:
brush23 triple nested brace expansion

[brush stdout] Expected '-A- -=a=- -=.x.=- -=.y.=- -=b=- -B-\n', got '-A.,b}=,B}- -={a.,b}=,B}- -.{x.,b}=,B}- -y.,b}=,B}-\n'

stdout:
-A.,b}=,B}- -={a.,b}=,B}- -.{x.,b}=,B}- -y.,b}=,B}-
stderr:
brush24 nested and double brace expansion

[brush stdout] Expected '-A- -=ac=- -=ad=- -=bc=- -=bd=- -B-\n', got '-Ac=,B}- -Ad=,B}- -={ac=,B}- -={ad=,B}- -bc=,B}- -bd=,B}-\n'

stdout:
-Ac=,B}- -Ad=,B}- -={ac=,B}- -={ad=,B}- -bc=,B}- -bd=,B}-
stderr:
mksh25 expansion on RHS of assignment

stdout:
X Y
stderr:
ksh25 expansion on RHS of assignment

[ksh stdout] Expected '{X,Y}\n', got 'X Y\n'

stdout:
X Y
stderr:
toysh25 expansion on RHS of assignment

[toysh stdout] Expected '{X,Y}\n', got 'X\n'

stdout:
X
stderr:
brush25 expansion on RHS of assignment

[brush stdout] Expected '{X,Y}\n', got 'X Y\n'

stdout:
X Y
stderr:
mksh28 Tilde expansion with brace expansion

stdout:
foo~/bar ~/bar
-- foo~/bar
-- ~/bar
== foo~/bar
== ~/bar
stderr:
ksh28 Tilde expansion with brace expansion

[ksh stdout] Expected 'foo~/bar /home/bob/bar\n-- foo~/bar\n-- /home/bob/bar\n== foo~/bar\n== /home/bob/bar\n' Got 'foo~/bar ~/bar\n-- foo~/bar\n-- ~/bar\n== foo~/bar\n== ~/bar\n'

stdout:
foo~/bar ~/bar
-- foo~/bar
-- ~/bar
== foo~/bar
== ~/bar
stderr:
toysh28 Tilde expansion with brace expansion

[toysh stdout] Expected 'foo~/bar /home/bob/bar\n-- foo~/bar\n-- /home/bob/bar\n== foo~/bar\n== /home/bob/bar\n' Got 'foo~/bar /home/bob/bar\nfoo~/bar\n/home/bob/bar\n'
[toysh status] Expected 0, got 2

stdout:
foo~/bar /home/bob/bar
foo~/bar
/home/bob/bar
stderr:
main: line 12: sh: syntax error: {foo~,~}/bar
brush28 Tilde expansion with brace expansion

[brush stdout] Expected 'foo~/bar /home/bob/bar\n-- foo~/bar\n-- /home/bob/bar\n== foo~/bar\n== /home/bob/bar\n' Got 'foo~/bar ~/bar\n-- foo~/bar\n-- ~/bar\n== foo~/bar\n== ~/bar\n'

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:
ksh29 Two kinds of tilde expansion

[ksh stdout] Expected '/home/bob/src /root\n-- /home/bob/src\n-- /root\n== /home/bob/src\n== /root\n' Got '~/src ~root\n-- ~/src\n-- ~root\n== ~/src\n== ~root\n'

stdout:
~/src ~root
-- ~/src
-- ~root
== ~/src
== ~root
stderr:
toysh29 Two kinds of tilde expansion

[toysh stdout] Expected '/home/bob/src /root\n-- /home/bob/src\n-- /root\n== /home/bob/src\n== /root\n' Got '/home/bob/src /root\n/home/bob/src\n/root\n'
[toysh status] Expected 0, got 2

stdout:
/home/bob/src /root
/home/bob/src
/root
stderr:
main: line 11: sh: syntax error: ~{/src,root}
brush29 Two kinds of tilde expansion

[brush stdout] Expected '/home/bob/src /root\n-- /home/bob/src\n-- /root\n== /home/bob/src\n== /root\n' Got '/home/bob/src ~root\n-- /home/bob/src\n-- ~root\n== /home/bob/src\n== ~root\n'

stdout:
/home/bob/src ~root
-- /home/bob/src
-- ~root
== /home/bob/src
== ~root
stderr:
toysh30 Tilde expansion come before var expansion

[toysh stdout] Expected '/home/bob\n~\n', got '~\n~\n'

stdout:
~
~
stderr:
mksh31 Number range expansion

stdout:
-{1..8..3}-
-{1..10..3}-
stderr:
ksh31 Number range expansion

[ksh stdout] Expected '-1- -4- -7-\n-1- -4- -7- -10-\n', got '-{1..8..3}-\n-{1..10..3}-\n'

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:
ksh32 Ascending number range expansion with negative step is invalid

[ksh stdout] Expected u'', got '-{1..8..-3}-\n'
[ksh status] Expected 2, got 0

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

[toysh stdout] Expected u'', got '-1- -4- -7-\n'
[toysh status] Expected 2, got 0

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

[sush stdout] Expected u'', got '-1- -4- -7-\n'
[sush status] Expected 2, got 0

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

[brush stdout] Expected u'', got '-{1..8..-3}-\n'
[brush status] Expected 2, got 0

stdout:
-{1..8..-3}-
stderr:
bash33 regression: -1 step disallowed

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

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

[ksh stdout] Expected u'', got '-{1..4..-1}-\n'
[ksh status] Expected 2, got 0

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

[toysh stdout] Expected u'', got '-1- -2- -3- -4-\n'
[toysh status] Expected 2, got 0

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

[sush stdout] Expected u'', got '-1- -2- -3- -4-\n'
[sush status] Expected 2, got 0

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

[brush stdout] Expected u'', got '-{1..4..-1}-\n'
[brush status] Expected 2, got 0

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

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

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

[ksh stdout] Expected u'', got '-{1..4..0}-\n'
[ksh status] Expected 2, got 0

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

[toysh stdout] Expected u'', got '-1- -2- -3- -4-\n'
[toysh status] Expected 2, got 0

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

[sush stdout] Expected u'', got '-1- -2- -3- -4-\n'
[sush status] Expected 2, got 0

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

[brush status] Expected 2, got -6

stdout:
stderr: 
Well, this is embarrassing.

brush had a problem and crashed. To help us diagnose the problem you can send us a crash report.

We have generated a report file at "/tmp/report-8dc1b2ae-489b-4343-b5b5-f09aa414989b.toml". Submit an issue or email with the subject of "brush Crash Report" and include the report as an attachment.


To submit the crash report:

please post a GitHub issue at https://github.com/reubeno/brush/issues/new

We take privacy seriously, and do not perform any automated error collection. In order to improve the software, we rely on people to submit reports.

Thank you kindly!
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:
ksh35 Descending number range expansion with positive step is invalid

[ksh stdout] Expected u'', got '-{8..1..3}-\n'
[ksh status] Expected 2, got 0

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

[toysh stdout] Expected u'', got '-8- -5- -2-\n'
[toysh status] Expected 2, got 0

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

[sush stdout] Expected u'', got '-8- -5- -2-\n'
[sush status] Expected 2, got 0

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

[brush stdout] Expected u'', got '\n'
[brush status] Expected 2, got 0

stdout:
stderr: 
mksh36 Descending number range expansion with negative step

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

[ksh stdout] Expected '-8- -5- -2-\n', got '-{8..1..-3}-\n'

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

[brush stdout] Expected '-8- -5- -2-\n', got '-{8..1..-3}-\n'

stdout:
-{8..1..-3}-
stderr:
mksh37 Singleton ranges

stdout:
{1..1}-
{-9..-9}-
{-9..-9..3}-
{-9..-9..-3}-
{a..a}-
stderr:
ksh37 Singleton ranges

[ksh stdout] Expected '1-\n-9-\n-9-\n-9-\na-\n', got '{1..1}-\n{-9..-9}-\n{-9..-9..3}-\n{-9..-9..-3}-\n{a..a}-\n'

stdout:
{1..1}-
{-9..-9}-
{-9..-9..3}-
{-9..-9..-3}-
{a..a}-
stderr:
brush37 Singleton ranges

[brush stdout] Expected '1-\n-9-\n-9-\n-9-\na-\n', got '1-\n{-9..-9}-\n{-9..-9..3}-\n{-9..-9..-3}-\na-\n'

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

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

[ksh stdout] Expected 'a-\na-\n', got '{a..a..2}-\n{a..a..-2}-\n'

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

[brush stdout] Expected 'a-\na-\n', got 'a-\n{a..a..-2}-\n'

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

stdout:
-{a..e}-
stderr:
ksh39 Char range expansion

[ksh stdout] Expected '-a- -b- -c- -d- -e-\n', got '-{a..e}-\n'

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

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

[ksh stdout] Expected '-a- -c- -e-\n', got '-{a..e..2}-\n'

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:
ksh41 Char ranges with steps of the wrong sign

[ksh stdout] Expected u'', got '-{a..e..-2}-\n-{e..a..2}-\n'
[ksh status] Expected 2, got 0

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

[toysh stdout] Expected u'', got '-a- -c- -e-\n-e- -c- -a-\n'
[toysh status] Expected 2, got 0

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

[sush stdout] Expected u'', got '-a- -c- -e-\n-e- -c- -a-\n'
[sush status] Expected 2, got 0

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

[brush stdout] Expected u'', got '-{a..e..-2}-\n\n'
[brush status] Expected 2, got 0

stdout:
-{a..e..-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:
ksh42 Mixed case char expansion is invalid

[ksh stdout] Expected u'', got '-{z..A}-\n-{z..A..2}-\n'
[ksh status] Expected 2, got 0

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

[toysh status] Expected 2, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush42 Mixed case char expansion is invalid

[sush stdout] Expected u'', got '-z- -y- -x- -w- -v- -u- -t- -s- -r- -q- -p- -o- -n- -m- -l- -k- -j- -i- -h- -g- -f- -e- -d- -c- -b- -a- -`- -_- -^- -]- -\\- -[- -Z- -Y- -X- -W- -V- -U- -T- -S- -R- -Q- -P- -O- -N- -M- -L- -K- -J- -I- -H- -G- -F- -E- -D- -C- -B- -A-\n-z- -x- -v- -t- -r- -p- -n- -l- -j- -h- -f- -d- -b- -`- -^- -\\- -Z- -X- -V- -T- -R- -P- -N- -L- -J- -H- -F- -D- -B-\n'
[sush status] Expected 2, got 0

stdout:
-z- -y- -x- -w- -v- -u- -t- -s- -r- -q- -p- -o- -n- -m- -l- -k- -j- -i- -h- -g- -f- -e- -d- -c- -b- -a- -`- -_- -^- -]- -\- -[- -Z- -Y- -X- -W- -V- -U- -T- -S- -R- -Q- -P- -O- -N- -M- -L- -K- -J- -I- -H- -G- -F- -E- -D- -C- -B- -A-
-z- -x- -v- -t- -r- -p- -n- -l- -j- -h- -f- -d- -b- -`- -^- -\- -Z- -X- -V- -T- -R- -P- -N- -L- -J- -H- -F- -D- -B-
stderr:
brush42 Mixed case char expansion is invalid

[brush stdout] Expected u'', got '\n\n'
[brush status] Expected 2, got 0

stdout:

stderr:
mksh43 Descending char range expansion

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

[ksh stdout] Expected '-e- -c- -a-\n', got '-{e..a..-2}-\n'

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

[brush stdout] Expected '-e- -c- -a-\n', got '-{e..a..-2}-\n'

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

stdout:
-{01..03}-
-{09..12}-
-{12..07}-
stderr:
ksh44 Fixed width number range expansion

[ksh stdout] Expected '-01- -02- -03-\n-09- -10- -11- -12-\n-12- -11- -10- -09- -08- -07-\n' Got '-{01..03}-\n-{09..12}-\n-{12..07}-\n'

stdout:
-{01..03}-
-{09..12}-
-{12..07}-
stderr:
toysh44 Fixed width number range expansion

[toysh stdout] Expected '-01- -02- -03-\n-09- -10- -11- -12-\n-12- -11- -10- -09- -08- -07-\n' Got '-1- -2- -3-\n-9- -10- -11- -12-\n-12- -11- -10- -9- -8- -7-\n'

stdout:
-1- -2- -3-
-9- -10- -11- -12-
-12- -11- -10- -9- -8- -7-
stderr:
sush44 Fixed width number range expansion

[sush stdout] Expected '-01- -02- -03-\n-09- -10- -11- -12-\n-12- -11- -10- -09- -08- -07-\n' Got '-1- -2- -3-\n-9- -10- -11- -12-\n-12- -11- -10- -9- -8- -7-\n'

stdout:
-1- -2- -3-
-9- -10- -11- -12-
-12- -11- -10- -9- -8- -7-
stderr:
brush44 Fixed width number range expansion

[brush stdout] Expected '-01- -02- -03-\n-09- -10- -11- -12-\n-12- -11- -10- -09- -08- -07-\n' Got '-1- -2- -3-\n-9- -10- -11- -12-\n\n'

stdout:
-1- -2- -3-
-9- -10- -11- -12-

stderr:
mksh45 Inconsistent fixed width number range expansion

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

[ksh stdout] Expected '-001- -002- -003-\n', got '-{01..003}-\n'

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

[toysh stdout] Expected '-001- -002- -003-\n', got '-1- -2- -3-\n'

stdout:
-1- -2- -3-
stderr:
sush45 Inconsistent fixed width number range expansion

[sush stdout] Expected '-001- -002- -003-\n', got '-1- -2- -3-\n'

stdout:
-1- -2- -3-
stderr:
brush45 Inconsistent fixed width number range expansion

[brush stdout] Expected '-001- -002- -003-\n', got '-1- -2- -3-\n'

stdout:
-1- -2- -3-
stderr:
mksh46 Inconsistent fixed width number range expansion

stdout:
-{01..3}-
stderr:
ksh46 Inconsistent fixed width number range expansion

[ksh stdout] Expected '-01- -02- -03-\n', got '-{01..3}-\n'

stdout:
-{01..3}-
stderr:
toysh46 Inconsistent fixed width number range expansion

[toysh stdout] Expected '-01- -02- -03-\n', got '-1- -2- -3-\n'

stdout:
-1- -2- -3-
stderr:
sush46 Inconsistent fixed width number range expansion

[sush stdout] Expected '-01- -02- -03-\n', got '-1- -2- -3-\n'

stdout:
-1- -2- -3-
stderr:
brush46 Inconsistent fixed width number range expansion

[brush stdout] Expected '-01- -02- -03-\n', got '-1- -2- -3-\n'

stdout:
-1- -2- -3-
stderr:
mksh47 Adjacent comma and range works

stdout:
-a{1..3}- -b{1..3}-
stderr:
ksh47 Adjacent comma and range works

[ksh stdout] Expected '-a1- -a2- -a3- -b1- -b2- -b3-\n', got '-a{1..3}- -b{1..3}-\n'

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

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

[ksh stdout] Expected '-a- -_1_- -_2_- -_3_- -b-\n', got '-a- -_{1..3}_- -b-\n'

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

[brush stdout] Expected '-a- -_1_- -_2_- -_3_- -b-\n', got '-a_,b}- -_{1..3_,b}-\n'

stdout:
-a_,b}- -_{1..3_,b}-
stderr:
brush50 comma and invalid range (adjacent and nested)

[brush stdout] Expected '-a{1...3}- -b{1...3}-\n-a- -{1...3}-\na{} b{}\n' Got '-a{1...3}- -b{1...3}-\n-a}- -{1...3}-\na{} b{}\n'

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

stdout:
-{a,b}{1...3}-
-{a,{1...3}}-
{a,b}{}
stderr:
brush51 OSH provides an alternative to invalid syntax

[brush stdout] Expected '-a{1...3}- -b{1...3}-\n-a- -{1...3}-\na{} b{}\n' Got '-a{1...3}- -b{1...3}-\n-{a,{1...3}}-\na{} b{}\n'

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

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

[ksh stdout] Expected 'a-0 b-1 c-2\n', got 'a-0 b-0 c-0\n'

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

[toysh stdout] Expected '{1..a}\n{z..3}\n', got ''
[toysh status] Expected 0, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush54 Invalid brace expansions mixing characters and numbers

[sush stdout] Expected '{1..a}\n{z..3}\n', got '1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \\ ] ^ _ ` a\nz y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \\ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3\n'

stdout:
1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a
z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3
stderr: