| case | bash | mksh | osh | osh_ALT | description |
| 0 | pass | BUG | pass | pass | var ref ${!a} |
| details | |||||
| 1 | pass | N-I | FAIL | FAIL | var ref with special vars |
| details | details | details | |||
| 2 | pass | N-I | FAIL | FAIL | declare -n and ${!a} |
| details | details | details | |||
| 3 | pass | BUG | pass | pass | Bad var ref with ${!a} |
| details | |||||
| 4 | pass | pass | FAIL | FAIL | pass array by reference |
| details | details | ||||
| 5 | pass | BUG | FAIL | FAIL | pass assoc array by reference |
| details | details | details | |||
| 6 | pass | BUG | FAIL | FAIL | pass local array by reference, relying on DYNAMIC SCOPING |
| details | details | details |
12 passed, 0 ok, 2 known unimplemented, 4 known bugs, 5 failed, 0 skipped
| mksh | 0 var ref ${!a} stdout: ref a bstderr: |
| mksh | 1 var ref with special vars stdout: ref refstderr: |
| osh | 1 var ref with special vars [osh stdout] Expected u'myfunc\n0\n', got 'myfunc\n\n' stdout: myfuncstderr: |
| osh_ALT | 1 var ref with special vars [osh_ALT stdout] Expected u'myfunc\n0\n', got 'myfunc\n\n' stdout: myfuncstderr: |
| mksh | 2 declare -n and ${!a} stdout: a bstderr: /bin/mksh: <stdin>[1]: declare: not found |
| osh | 2 declare -n and ${!a} [osh stdout] Expected 'b c\n', got 'c b\n' stdout: c bstderr: |
| osh_ALT | 2 declare -n and ${!a} [osh_ALT stdout] Expected 'b c\n', got 'c b\n' stdout: c bstderr: |
| mksh | 3 Bad var ref with ${!a} stdout: ref a status=0stderr: |
| osh | 4 pass array by reference [osh stdout] Expected 'zo\n', got '' [osh status] Expected 0, got 1 stdout: stderr: Line 0 of '<unknown>' <no position info for token> osh failed: Can't index string 'array' with integer |
| osh_ALT | 4 pass array by reference [osh_ALT stdout] Expected 'zo\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Line 0 of '<unknown>' <no position info for token> osh failed: Can't index string 'array' with integer |
| mksh | 5 pass assoc array by reference stdout: [monday]=eggsstderr: |
| osh | 5 pass assoc array by reference [osh stdout] Expected 'jam\n', got '' [osh status] Expected 0, got 1 stdout: stderr: osh warning: Invalid integer constant 'sunday' Line 0 of '<unknown>' <no position info for token> osh failed: Can't index string 'array' with integer |
| osh_ALT | 5 pass assoc array by reference [osh_ALT stdout] Expected 'jam\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: osh warning: Invalid integer constant 'sunday' Line 0 of '<unknown>' <no position info for token> osh failed: Can't index string 'array' with integer |
| mksh | 6 pass local array by reference, relying on DYNAMIC SCOPING stdout: stderr: /bin/mksh: <stdin>[7]: syntax error: '(' unexpected
|
| osh | 6 pass local array by reference, relying on DYNAMIC SCOPING [osh stdout] Expected 'zo\n', got '' [osh status] Expected 0, got 1 stdout: stderr: Line 0 of '<unknown>' <no position info for token> osh failed: Can't index string 'array' with integer |
| osh_ALT | 6 pass local array by reference, relying on DYNAMIC SCOPING [osh_ALT stdout] Expected 'zo\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Line 0 of '<unknown>' <no position info for token> osh failed: Can't index string 'array' with integer |