Results for brace-expansion.test.sh

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 pass pass pass nested brace expansion
21pass pass pass pass triple nested brace expansion
22pass pass pass pass nested and double brace expansion
23pass BUG pass pass expansion on RHS of assignment
details
24pass pass ok pass no expansion with RHS assignment
details
25pass pass pass pass Tilde expansion
26pass ok pass FAIL Tilde expansion with brace expansion
detailsdetails
27pass ok pass FAIL Two kinds of tilde expansion
detailsdetails
28pass pass pass pass Tilde expansion come before var expansion
29pass N-I pass FAIL Number range expansion
detailsdetails
30pass N-I ok FAIL Ascending number range expansion with negative step
detailsdetailsdetails
31pass N-I pass FAIL Descending number range expansion
detailsdetails
32pass N-I ok FAIL Descending number range expansion with negative step
detailsdetailsdetails
33pass N-I N-I FAIL Char range expansion
detailsdetailsdetails
34pass N-I N-I FAIL Char range expansion with step
detailsdetailsdetails
35pass N-I N-I FAIL Descending char range expansion
detailsdetailsdetails
36pass N-I pass FAIL Fixed width number range expansion
detailsdetails
37pass N-I ok FAIL Inconsistent fixed width number range expansion
detailsdetailsdetails
38pass N-I pass FAIL Inconsistent fixed width number range expansion
detailsdetails
39pass ok ok FAIL Side effect in expansion
detailsdetailsdetails

116 passed, 13 ok, 13 known unimplemented, 5 known bugs, 13 failed, 0 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:
mksh23 expansion on RHS of assignment

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

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

stdout:
foo~/bar ~/bar
stderr:
osh26 Tilde expansion with brace expansion

[osh stdout] Expected b'foo~/bar /home/bob/bar\n', got b'foo~/bar ~/bar\n'

stdout:
foo~/bar ~/bar
stderr:
mksh27 Two kinds of tilde expansion

stdout:
~/src ~root
stderr:
osh27 Two kinds of tilde expansion

[osh stdout] Expected b'/home/bob/src /root\n', got b'~/src ~root\n'

stdout:
~/src ~root
stderr:
mksh29 Number range expansion

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

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

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

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

stdout:
-7- -4- -1-
stderr:
osh30 Ascending number range expansion with negative step

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

stdout:
-{1..8..-3}-
stderr:
mksh31 Descending number range expansion

stdout:
-{8..1..3}-
stderr:
osh31 Descending number range expansion

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

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

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

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

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

stdout:
-{8..1..-3}-
stderr:
mksh33 Char range expansion

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

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

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

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

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

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

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

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

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

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

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

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

stdout:
-{01..03}-
stderr:
osh36 Fixed width number range expansion

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

stdout:
-{01..03}-
stderr:
mksh37 Inconsistent fixed width number range expansion

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

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

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

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

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

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

stdout:
-{01..3}-
stderr:
mksh39 Side effect in expansion

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

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

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

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 900, in Execute
    status = self._Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 791, in _Execute
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 677, in _Execute
    argv = self.ev.EvalWords(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 769, in EvalWords
    return self._EvalWords(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 759, in _EvalWords
    val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 455, in _EvalCompoundWord
    val = self._EvalWordPart(p, quoted=False)  # may raise
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 703, in _EvalWordPart
    return self._EvalArithSub(part.anode)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 198, in _EvalArithSub
    if arith_ev.Eval(anode):
  File "/home/andy/git/oil/bin/../core/expr_eval.py", line 64, in Eval
    result = self._Eval(node)
  File "/home/andy/git/oil/bin/../core/expr_eval.py", line 239, in _Eval
    raise AssertionError("Shouldn't get here")
AssertionError: Shouldn't get here