| pass | 33 | 36 | 35 | 35 | |
| ok | 1 | 0 | 0 | 1 | |
| N-I | 4 | 0 | 1 | 0 | |
| BUG | 0 | 2 | 2 | 0 | |
| FAIL | 0 | 0 | 0 | 2 | |
| total | 38 | 38 | 38 | 38 | |
| | | | | |
| 0 | pass | pass | pass | pass | "${empty:-}" |
| 1 | pass | pass | pass | pass | ${empty:-} |
| 2 | N-I | pass | N-I | pass | array with empty values |
| details | | details | | |
| 3 | pass | pass | pass | pass | substitution of IFS character, quoted and unquoted |
| 4 | pass | pass | pass | pass | :- |
| 5 | pass | pass | pass | pass | - |
| 6 | pass | pass | pass | pass | Inner single quotes |
| 7 | pass | pass | pass | pass | Inner single quotes, outer double quotes |
| 8 | pass | pass | pass | pass | Inner double quotes |
| 9 | pass | pass | pass | pass | Inner double quotes, outer double quotes |
| 10 | pass | pass | pass | pass | Multiple words: no quotes |
| 11 | pass | pass | pass | pass | Multiple words: no outer quotes, inner single quotes |
| 12 | pass | pass | pass | pass | Multiple words: no outer quotes, inner double quotes |
| 13 | pass | pass | pass | pass | Multiple words: outer double quotes, no inner quotes |
| 14 | pass | pass | pass | pass | Multiple words: outer double quotes, inner double quotes |
| 15 | pass | pass | pass | pass | Multiple words: outer double quotes, inner single quotes |
| 16 | pass | pass | pass | pass | Mixed inner quotes |
| 17 | pass | pass | pass | pass | Mixed inner quotes with outer quotes |
| 18 | pass | pass | pass | pass | part_value tree with multiple words |
| 19 | pass | pass | pass | pass | part_value tree on RHS |
| 20 | pass | pass | pass | pass | Var with multiple words: no quotes |
| 21 | pass | pass | pass | pass | Multiple words: no outer quotes, inner single quotes |
| 22 | pass | pass | pass | pass | Multiple words: no outer quotes, inner double quotes |
| 23 | pass | pass | pass | pass | Multiple words: outer double quotes, no inner quotes |
| 24 | pass | pass | pass | pass | Multiple words: outer double quotes, inner double quotes |
| 25 | pass | pass | pass | pass | Multiple words: outer double quotes, inner single quotes |
| 26 | pass | pass | pass | pass | No outer quotes, Multiple internal quotes |
| 27 | pass | pass | pass | pass | Strip a string with single quotes, unquoted |
| 28 | pass | pass | pass | pass | Strip a string with single quotes, double quoted |
| 29 | pass | pass | pass | pass | The string to strip is space sensitive |
| 30 | pass | pass | pass | pass | The string to strip can be single quoted, outer is unquoted |
| 31 | pass | BUG | BUG | pass | Strip a string with single quotes, double quoted, with unescaped ' |
| | details | details | | |
| 32 | pass | BUG | BUG | pass | The string to strip can be single quoted, outer is double quoted |
| | details | details | | |
| 33 | N-I | pass | pass | pass | $'' allowed within VarSub arguments |
| details | | | | |
| 34 | ok | pass | pass | FAIL | # operator with single quoted arg (dash/ash and bash/mksh disagree, reported by Crestwave) |
| details | | | details | |
| 35 | N-I | pass | pass | ok | / operator with single quoted arg (causes syntax error in regex in OSH, reported by Crestwave) |
| details | | | details | |
| 36 | N-I | pass | pass | FAIL | single quotes work inside character classes |
| details | | | details | |
| 37 | pass | pass | pass | pass | comparison: :- operator with single quoted arg |
| dash | 2 array with empty values
stdout:
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 1: Syntax error: "(" unexpected
|
| mksh | 2 array with empty values
stdout:
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[1]: syntax error: '(' unexpected
|
| bash | 31 Strip a string with single quotes, double quoted, with unescaped '
stdout:
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 2: unexpected EOF while looking for matching `''
/home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 3: syntax error: unexpected end of file
|
| mksh | 31 Strip a string with single quotes, double quoted, with unescaped '
stdout:
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[3]: no closing quote
|
| bash | 32 The string to strip can be single quoted, outer is double quoted
stdout:
['a b ', 'a b c d']
stderr:
|
| mksh | 32 The string to strip can be single quoted, outer is double quoted
stdout:
['a b ', 'a b c d']
stderr:
|
| dash | 33 $'' allowed within VarSub arguments
stdout:
abc
abc
stderr:
|
| dash | 34 # operator with single quoted arg (dash/ash and bash/mksh disagree, reported by Crestwave)
stdout:
--
-a-
-'a'-
--
stderr:
|
| osh | 34 # operator with single quoted arg (dash/ash and bash/mksh disagree, reported by Crestwave)
[osh stdout] Expected "--\n--\n-'a'-\n-'a'-\n", got "--\n-a-\n-'a'-\n--\n"
stdout:
--
-a-
-'a'-
--
stderr:
|
| dash | 35 / operator with single quoted arg (causes syntax error in regex in OSH, reported by Crestwave)
stdout:
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: Bad substitution
|
| osh | 35 / operator with single quoted arg (causes syntax error in regex in OSH, reported by Crestwave)
stdout:
no plus or minus ''''
stderr:
echo no plus or minus "${var//['+-']}"
^
[ stdin ]:3: fatal: Error matching regex "(['+-'])": Invalid regex syntax (func_regex_first_group_match)
|
| dash | 36 single quotes work inside character classes
stdout:
stderr:
/home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: Bad substitution
|
| osh | 36 single quotes work inside character classes
[osh stdout] Expected 'a---b\n', got 'a[[[---]]]b\n'
stdout:
a[[[---]]]b
stderr:
|