spec test index / oilshell.org
| status | osh | |
| pass | 20 | |
| FAIL | 2 | |
| total | 22 | |
| case | osh | description |
| 0 | pass | GetValue scope and shopt --unset dynamic_scope |
| 1 | pass | SetValue scope and shopt --unset dynamic_scope |
| 2 | pass | read scope |
| 3 | pass | printf -v x respects dynamic_scope |
| 4 | pass | printf -v a[i] respects dynamic_scope |
| 5 | pass | ${undef=a} and shopt --unset dynamic_scope |
| 6 | pass | declare -p respects it |
| 7 | pass | OshLanguageSetValue constructs |
| 8 | pass | shell assignments 'neutered' inside 'proc' |
| 9 | pass | setglobal still allows setting globals |
| 10 | FAIL | setglobal d[key] inside proc should mutate global (bug #1841) |
| details | ||
| 11 | FAIL | setglobal a[i] inside proc |
| details | ||
| 12 | pass | unset inside proc uses local scope |
| 13 | pass | unset composes when you turn on dynamic scope |
| 14 | pass | Temp Bindings |
| 15 | pass | cd blocks don't introduce new scopes |
| 16 | pass | IFS=: myproc exports when it doesn't need to |
| 17 | pass | shvar usage |
| 18 | pass | shvar global |
| 19 | pass | shvar local |
| 20 | pass | shvar IFS |
| 21 | pass | shvarGet() |
20 passed, 0 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped 2 failed under osh
| osh | 10 setglobal d[key] inside proc should mutate global (bug #1841) [osh stdout] Expected 'BEFORE mutate\n(Dict) {}\nhi from mutate\n(Dict) {"key":"mutated","key2":"mutated"}\nAFTER mutate\n(Dict) {"key":"mutated","key2":"mutated"}\n' Got 'BEFORE mutate\n(Dict) {}\nhi from mutate\n(Dict) {"key":"mutated","key2":"mutated"}\nAFTER mutate\n(Dict) {}\n' stdout: BEFORE mutate
(Dict) {}
hi from mutate
(Dict) {"key":"mutated","key2":"mutated"}
AFTER mutate
(Dict) {}
stderr: |
| osh | 11 setglobal a[i] inside proc [osh stdout] Expected 'BEFORE mutate\n(List) [0]\nhi from mutate\n(List) [42]\nAFTER mutate\n(List) [42]\n' Got 'BEFORE mutate\n(List) [0]\nhi from mutate\n(List) [42]\nAFTER mutate\n(List) [0]\n' stdout: BEFORE mutate (List) [0] hi from mutate (List) [42] AFTER mutate (List) [0]stderr: |