spec test index / oilshell.org
| status | ysh | |
| pass | 19 | |
| FAIL | 2 | |
| total | 21 | |
| case | ysh | description |
| 0 | pass | proc static check: const can't be mutated |
| 1 | pass | top-level dynamic check: const can't be be mutated |
| 2 | pass | top level: var can be redefined by var/const |
| 3 | pass | setvar mutates local |
| 4 | pass | top level: setvar creates global |
| 5 | pass | top level: setvar mutates var |
| 6 | pass | proc static check: variable changed by setvar must be declared |
| 7 | pass | setglobal |
| 8 | pass | setglobal of undeclared var is allowed |
| 9 | pass | var a, b does implicit null init |
| 10 | pass | var x, y = f() |
| 11 | pass | const x, y = f() |
| 12 | pass | setvar x, y = 1, 2 |
| 13 | pass | setvar to swap List and Dict elements |
| 14 | pass | setvar d.key = 42 (setitem) |
| 15 | pass | setvar mylist[1] = 42 (setitem) |
| 16 | pass | mixing assignment builtins and YSH assignment |
| 17 | FAIL | circular dict - TODO 2023-06 REGRESS |
| details | ||
| 18 | FAIL | circular list - TODO 2023-06 REGRESS |
| details | ||
| 19 | pass | exit code of var, const, setvar with command sub |
| 20 | pass | setvar obj[INVALID TYPE] = |
19 passed, 0 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped 2 failed under osh
| ysh | 17 circular dict - TODO 2023-06 REGRESS [ysh stdout] Expected "(OrderedDict) <'name': 'foo'>\n(OrderedDict) <'name': 123>\n(OrderedDict) <'name': 'mystr'>\n(OrderedDict) <'name': ...>\n" Got '(Dict) {"name":"foo"}\n(Dict) {"name":123}\n(Dict) {"name":"mystr"}\n(Dict) {"name":{ --> 0x7f1d5f286dd0 }}\n' stdout: (Dict) {"name":"foo"}
(Dict) {"name":123}
(Dict) {"name":"mystr"}
(Dict) {"name":{ --> 0x7f1d5f286dd0 }}
stderr: |
| ysh | 18 circular list - TODO 2023-06 REGRESS [ysh stdout] Expected '(List) [1, 2, 3]\n(List) [[...], 2, 3]\n' Got '(List) [1, 2, 3]\n' stdout: (List) [1, 2, 3]stderr: |