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 "$@" }
spec test index / oilshell.org
166 passed, 13 OK, 18 not implemented, 23 BUG, 0 failed, 0 timeouts, 0 cases skipped
osh | 1 incomplete trailing expansion stdout: {a,b}_{stderr: |
osh | 2 partial leading expansion stdout: }_{a,b}stderr: |
osh | 3 partial leading expansion 2 stdout: {x}_{a,b}stderr: |
zsh | 4 } in expansion stdout: stderr: zsh: parse error near `}' |
osh | 4 } in expansion stdout: {a,b}}stderr: |
bash | 11 double expansion with simple var -- bash bug stdout: b_c b_dstderr: |
bash | 13 double expansion with literal and simple var stdout: _ _ b_c b_dstderr: |
bash | 17 { in expansion stdout: {a {bstderr: |
zsh | 17 { in expansion stdout: {a {bstderr: |
mksh | 20 Empty alternative stdout: ['X', '', 'Y', '']stderr: |
zsh | 20 Empty alternative stdout: ['X', '', 'Y', '']stderr: |
mksh | 25 expansion on RHS of assignment stdout: X Ystderr: |
zsh | 26 no expansion with RHS assignment stdout: stderr: zsh: parse error near `\n' |
mksh | 28 Tilde expansion with brace expansion stdout: foo~/bar ~/bar -- foo~/bar -- ~/bar == foo~/bar == ~/barstderr: |
mksh | 29 Two kinds of tilde expansion stdout: ~/src ~root -- ~/src -- ~root == ~/src == ~rootstderr: |
mksh | 31 Number range expansion stdout: -{1..8..3}- -{1..10..3}-stderr: |
bash | 32 Ascending number range expansion with negative step is invalid stdout: -1- -4- -7-stderr: |
mksh | 32 Ascending number range expansion with negative step is invalid stdout: -{1..8..-3}-stderr: |
zsh | 32 Ascending number range expansion with negative step is invalid stdout: -7- -4- -1-stderr: |
bash | 33 regression: -1 step disallowed stdout: -1- -2- -3- -4-stderr: |
mksh | 33 regression: -1 step disallowed stdout: -{1..4..-1}-stderr: |
zsh | 33 regression: -1 step disallowed stdout: -4- -3- -2- -1-stderr: |
bash | 34 regression: 0 step disallowed stdout: -1- -2- -3- -4-stderr: |
mksh | 34 regression: 0 step disallowed stdout: -{1..4..0}-stderr: |
zsh | 34 regression: 0 step disallowed stdout: -1..4..0-stderr: |
bash | 35 Descending number range expansion with positive step is invalid stdout: -8- -5- -2-stderr: |
mksh | 35 Descending number range expansion with positive step is invalid stdout: -{8..1..3}-stderr: |
zsh | 35 Descending number range expansion with positive step is invalid stdout: -8- -5- -2-stderr: |
mksh | 36 Descending number range expansion with negative step stdout: -{8..1..-3}-stderr: |
zsh | 36 Descending number range expansion with negative step stdout: -2- -5- -8-stderr: |
mksh | 37 Singleton ranges stdout: {1..1}- {-9..-9}- {-9..-9..3}- {-9..-9..-3}- {a..a}-stderr: |
mksh | 38 Singleton char ranges with steps stdout: {a..a..2}- {a..a..-2}-stderr: |
zsh | 38 Singleton char ranges with steps stdout: {a..a..2}- {a..a..-2}-stderr: |
mksh | 39 Char range expansion stdout: -{a..e}-stderr: |
mksh | 40 Char range expansion with step stdout: -{a..e..2}-stderr: |
zsh | 40 Char range expansion with step stdout: -{a..e..2}-stderr: |
bash | 41 Char ranges with steps of the wrong sign stdout: -a- -c- -e- -e- -c- -a-stderr: |
mksh | 41 Char ranges with steps of the wrong sign stdout: -{a..e..-2}- -{e..a..2}-stderr: |
zsh | 41 Char ranges with steps of the wrong sign stdout: -{a..e..-2}- -{e..a..2}-stderr: |
bash | 42 Mixed case char expansion is invalid stdout: stderr: bash: line 2: bad substitution: no closing "`" in `- bash: line 3: bad substitution: no closing "`" in `- |
mksh | 42 Mixed case char expansion is invalid stdout: -{z..A}- -{z..A..2}-stderr: |
zsh | 42 Mixed case char expansion is invalid stdout: BUGstderr: |
mksh | 43 Descending char range expansion stdout: -{e..a..-2}-stderr: |
zsh | 43 Descending char range expansion stdout: -{e..a..-2}-stderr: |
mksh | 44 Fixed width number range expansion stdout: -{01..03}- -{09..12}- -{12..07}-stderr: |
mksh | 45 Inconsistent fixed width number range expansion stdout: -{01..003}-stderr: |
zsh | 45 Inconsistent fixed width number range expansion stdout: -01- -02- -03-stderr: |
mksh | 46 Inconsistent fixed width number range expansion stdout: -{01..3}-stderr: |
mksh | 47 Adjacent comma and range works stdout: -a{1..3}- -b{1..3}-stderr: |
mksh | 48 Range inside comma works stdout: -a- -_{1..3}_- -b-stderr: |
osh | 50 comma and invalid range (adjacent and nested) stdout: -{a,b}{1...3}- -{a,{1...3}}- {a,b}{}stderr: |
mksh | 52 Side effect in expansion stdout: a-0 b-0 c-0stderr: |
zsh | 52 Side effect in expansion stdout: a-0 b-0 c-0stderr: |
zsh | 54 Invalid brace expansions mixing characters and numbers stdout: BUGstderr: |