spec test index / oilshell.org
53 passed, 7 OK, 7 not implemented, 5 BUG, 3 failed, 0 timeouts, 0 cases skipped 3 failed under osh
mksh | 1 pass assoc array by reference stdout: [monday]=eggsstderr: |
mksh | 2 pass local array by reference, relying on DYNAMIC SCOPING stdout: stderr: mksh: <stdin>[7]: syntax error: '(' unexpected |
mksh | 5 flag -n combined ${!ref} -- bash INVERTS stdout: ref=x !ref=ref NOW A NAMEREF ref=foo !ref=xstderr: |
osh | 5 flag -n combined ${!ref} -- bash INVERTS [osh stdout] Expected 'ref=x\n!ref=foo\nNOW A NAMEREF\nref=foo\n!ref=x\n', got 'ref=x\n!ref=foo\nNOW A NAMEREF\nref=foo\n!ref=FOO\n' stdout: ref=x !ref=foo NOW A NAMEREF ref=foo !ref=FOOstderr: |
mksh | 6 named ref with $# doesn't work stdout: ref=# ref=3stderr: |
bash | 7 named ref with $# and shopt -s strict_nameref stdout: ref=# ref=#stderr: bash: line 1: shopt: strict_nameref: invalid shell option name bash: line 4: typeset: `#': invalid variable name for name reference |
mksh | 7 named ref with $# and shopt -s strict_nameref stdout: ref=# ref=0stderr: mksh: <stdin>[1]: shopt: not found |
mksh | 8 named ref with 1 $1 etc. stdout: ref=1 ref=one ref2=$1stderr: mksh: <stdin>[9]: ref2: empty nameref target |
mksh | 9 assign to invalid ref stdout: ref=1 ref=stderr: mksh: <stdin>[5]: read-only: ref |
bash | 10 assign to invalid ref with strict_nameref stdout: stderr: |
mksh | 10 assign to invalid ref with strict_nameref stdout: stderr: |
mksh | 11 name ref on Undef cell stdout: stderr: mksh: <stdin>[1]: ref: empty nameref target |
mksh | 12 assign to empty nameref and invalid nameref stdout: stderr: mksh: <stdin>[1]: ref: empty nameref target |
mksh | 13 -n attribute before it has a value stdout: stderr: mksh: <stdin>[1]: ref: empty nameref target |
bash | 14 -n attribute on array is hard error, not a warning stdout: hi ref=xstderr: bash: line 4: warning: ref: removing nameref attribute |
mksh | 14 -n attribute on array is hard error, not a warning stdout: stderr: mksh: <stdin>[2]: ref: empty nameref target |
mksh | 15 exported nameref stdout: None None --- foo Nonestderr: |
bash | 17 readonly var can't be assigned through nameref stdout: ref=X ref=XX ref=XX x=XXstderr: bash: line 7: x: readonly variable |
mksh | 17 readonly var can't be assigned through nameref stdout: ref=X ref=XXstderr: mksh: <stdin>[7]: read-only: ref |
bash | 20 Mutually recursive namerefs stdout: defined ref1= ref2=stderr: bash: line 4: warning: ref1: circular name reference bash: line 5: warning: ref1: circular name reference |
osh | 23 a[2] in nameref [osh stdout] Expected 'ref=two\n', got 'ref=a[2]\n' stdout: ref=a[2]stderr: |
osh | 24 a[expr] in nameref -- DYNAMIC PARSING, don't want this [osh stdout] Expected 'ref=three\n', got 'ref=a[$(echo 2) + 1]\n' stdout: ref=a[$(echo 2) + 1]stderr: |