Results for var-op-bash.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 22431081918
ok 3000002
BUG 2000000
FAIL 02324171987
total27272727272727
casebashmkshkshtoyshsushbrushoshdescription
0pass FAIL FAIL pass pass pass pass Lower Case with , and ,,
detailsdetails
1pass FAIL FAIL pass pass pass pass Upper Case with ^ and ^^
detailsdetails
2pass FAIL FAIL pass FAIL FAIL FAIL Case folding - Unicode characters
detailsdetailsdetailsdetailsdetails
3BUG FAIL FAIL FAIL FAIL FAIL FAIL Case folding - multi code point
detailsdetailsdetailsdetailsdetailsdetailsdetails
4ok FAIL FAIL pass pass pass ok Case folding that depends on locale (not enabled, requires Turkish locale)
detailsdetailsdetailsdetails
5pass FAIL FAIL pass pass pass FAIL Lower Case with constant string (VERY WEIRD)
detailsdetailsdetails
6pass FAIL FAIL pass pass pass FAIL Lower Case glob
detailsdetailsdetails
7pass FAIL FAIL FAIL FAIL pass FAIL ${x@u} U L - upper / lower case (bash 5.1 feature)
detailsdetailsdetailsdetailsdetails
8pass pass pass FAIL FAIL pass pass ${x@Q}
detailsdetails
9pass FAIL FAIL FAIL FAIL pass ok ${array@Q} and ${array[@]@Q}
detailsdetailsdetailsdetailsdetails
10pass FAIL FAIL FAIL FAIL pass pass ${!prefix@} ${!prefix*} yields sorted array of var names
detailsdetailsdetailsdetails
11pass FAIL FAIL FAIL FAIL pass pass ${!prefix@} matches var name (regression)
detailsdetailsdetailsdetails
12pass FAIL FAIL FAIL FAIL pass pass ${var@a} for attributes
detailsdetailsdetailsdetails
13pass FAIL FAIL FAIL FAIL pass pass ${var@a} error conditions
detailsdetailsdetailsdetails
14pass pass FAIL pass FAIL pass pass undef and @P @Q @a
detailsdetails
15pass FAIL FAIL FAIL FAIL pass FAIL argv array and @P @Q @a
detailsdetailsdetailsdetailsdetails
16pass FAIL FAIL FAIL FAIL pass pass assoc array and @P @Q @a
detailsdetailsdetailsdetails
17pass pass pass pass pass pass pass ${!var[@]@X}
18pass pass pass pass pass FAIL pass ${#var@X} is a parse error
details
19BUG FAIL FAIL FAIL FAIL FAIL pass ${!A@a} and ${!A[@]@a}
detailsdetailsdetailsdetailsdetailsdetails
20pass FAIL FAIL FAIL FAIL pass FAIL undef vs. empty string in var ops
detailsdetailsdetailsdetailsdetails
21pass FAIL FAIL pass pass FAIL pass -o nounset with var ops
detailsdetailsdetails
22pass FAIL FAIL FAIL FAIL pass pass ${a[0]@a} and ${a@a}
detailsdetailsdetailsdetails
23pass FAIL FAIL FAIL FAIL FAIL pass ${!r@a} with r='a[0]' (attribute for indirect expansion of an array element)
detailsdetailsdetailsdetailsdetails
24ok FAIL FAIL FAIL FAIL FAIL pass Array expansion with nullary var op @Q
detailsdetailsdetailsdetailsdetailsdetails
25ok FAIL FAIL FAIL FAIL pass pass Array expansion with nullary var op @P
detailsdetailsdetailsdetailsdetails
26pass FAIL FAIL FAIL FAIL FAIL pass Array expansion with nullary var op @a
detailsdetailsdetailsdetailsdetails
84 passed, 5 OK, 0 not implemented, 2 BUG, 98 failed, 0 timeouts, 0 cases skipped
7 failed under osh

Details on runs that didn't PASS

mksh0 Lower Case with , and ,,

[mksh stdout] Expected 'aBC DEF\nabc def\nempty=\nempty=\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[2]: ${x,}: bad substitution
ksh0 Lower Case with , and ,,

[ksh stdout] Expected 'aBC DEF\nabc def\nempty=\nempty=\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${x,}: bad substitution
mksh1 Upper Case with ^ and ^^

[mksh stdout] Expected 'Abc def\nABC DEF\nempty=\nempty=\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[2]: ${x^}: bad substitution
ksh1 Upper Case with ^ and ^^

[ksh stdout] Expected 'Abc def\nABC DEF\nempty=\nempty=\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${x^}: bad substitution
mksh2 Case folding - Unicode characters

[mksh stdout] Expected 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\xa0\xc3\x88\nL \xc3\xa0\xc3\xa8\nu \xc3\x81\xc3\xa9\nU \xc3\x81\xc3\x89\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n' Got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[4]: ${x^}: bad substitution
ksh2 Case folding - Unicode characters

[ksh stdout] Expected 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\xa0\xc3\x88\nL \xc3\xa0\xc3\xa8\nu \xc3\x81\xc3\xa9\nU \xc3\x81\xc3\x89\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n' Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[4]: ${x^}: bad substitution
sush2 Case folding - Unicode characters

[sush stdout] Expected 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\xa0\xc3\x88\nL \xc3\xa0\xc3\xa8\nu \xc3\x81\xc3\xa9\nU \xc3\x81\xc3\x89\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n' Got 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\x80\xc3\x88\nL \xc3\x80\xc3\x88\nu \xc3\xa1\xc3\xa9\nU \xc3\xa1\xc3\xa9\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n'

stdout:
u ÀÈ
U ÀÈ
l ÀÈ
L ÀÈ
u áé
U áé
l áé
L áé
stderr:
brush2 Case folding - Unicode characters

[brush stdout] Expected 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\xa0\xc3\x88\nL \xc3\xa0\xc3\xa8\nu \xc3\x81\xc3\xa9\nU \xc3\x81\xc3\x89\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n' Got ''
[brush status] Expected 0, got -6

stdout:
stderr: 
Well, this is embarrassing.

brush had a problem and crashed. To help us diagnose the problem you can send us a crash report.

We have generated a report file at "/tmp/report-93746e9d-037a-4545-9f6c-fb54a7ca1c27.toml". Submit an issue or email with the subject of "brush Crash Report" and include the report as an attachment.


To submit the crash report:

please post a GitHub issue at https://github.com/reubeno/brush/issues/new

We take privacy seriously, and do not perform any automated error collection. In order to improve the software, we rely on people to submit reports.

Thank you kindly!
osh2 Case folding - Unicode characters

[osh stdout] Expected 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\xa0\xc3\x88\nL \xc3\xa0\xc3\xa8\nu \xc3\x81\xc3\xa9\nU \xc3\x81\xc3\x89\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n' Got 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\x80\xc3\x88\nL \xc3\x80\xc3\x88\nu \xc3\xa1\xc3\xa9\nU \xc3\xa1\xc3\xa9\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n'

stdout:
u ÀÈ
U ÀÈ
l ÀÈ
L ÀÈ
u áé
U áé
l áé
L áé
stderr:
bash3 Case folding - multi code point

stdout:
shell
u ß
U ß
l ß
L ß

python2
ß
ß

stderr:
mksh3 Case folding - multi code point

[mksh stdout] Expected '', got 'shell\n'
[mksh status] Expected 0, got 1

stdout:
shell
stderr:
mksh: <stdin>[3]: ${small^}: bad substitution
ksh3 Case folding - multi code point

[ksh stdout] Expected '', got 'shell\n'
[ksh status] Expected 0, got 1

stdout:
shell
stderr:
E: ksh: <stdin>[3]: ${small^}: bad substitution
toysh3 Case folding - multi code point

[toysh stdout] Expected '', got 'shell\nu \xc3\x9f\nU \xc3\x9f\nl \xc3\x9f\nL \xc3\x9f\n\npython2\n\xc3\x9f\n\xc3\x9f\n\n'

stdout:
shell
u ß
U ß
l ß
L ß

python2
ß
ß

stderr:
sush3 Case folding - multi code point

[sush stdout] Expected '', got 'shell\nu \xc3\x9f\nU \xc3\x9f\nl \xc3\x9f\nL \xc3\x9f\n\npython2\n\xc3\x9f\n\xc3\x9f\n\n'

stdout:
shell
u ß
U ß
l ß
L ß

python2
ß
ß

stderr:
brush3 Case folding - multi code point

[brush stdout] Expected '', got 'shell\n'
[brush status] Expected 0, got -6

stdout:
shell
stderr:
Well, this is embarrassing.

brush had a problem and crashed. To help us diagnose the problem you can send us a crash report.

We have generated a report file at "/tmp/report-b53047cd-9e4a-4794-afe8-886e1b74b332.toml". Submit an issue or email with the subject of "brush Crash Report" and include the report as an attachment.


To submit the crash report:

please post a GitHub issue at https://github.com/reubeno/brush/issues/new

We take privacy seriously, and do not perform any automated error collection. In order to improve the software, we rely on people to submit reports.

Thank you kindly!
osh3 Case folding - multi code point

[osh stdout] Expected '', got 'shell\nu \xc3\x9f\nU \xc3\x9f\nl \xc3\x9f\nL \xc3\x9f\n\npython2\n\xc3\x9f\n\xc3\x9f\n\n'

stdout:
shell
u ß
U ß
l ß
L ß

python2
ß
ß

stderr:
bash4 Case folding that depends on locale (not enabled, requires Turkish locale)

stdout:
u I
U I
l i
L i
stderr:
mksh4 Case folding that depends on locale (not enabled, requires Turkish locale)

[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[3]: ${x^}: bad substitution
ksh4 Case folding that depends on locale (not enabled, requires Turkish locale)

[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: ${x^}: bad substitution
osh4 Case folding that depends on locale (not enabled, requires Turkish locale)

stdout:
u I
U I
l i
L i
stderr:
mksh5 Lower Case with constant string (VERY WEIRD)

[mksh stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[2]: ${x,A}: bad substitution
ksh5 Lower Case with constant string (VERY WEIRD)

[ksh stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${x,A}: bad substitution
osh5 Lower Case with constant string (VERY WEIRD)

[osh stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got ''
[osh status] Expected 0, got 1

stdout:
stderr: 
  echo ${x,A}
          ^
[ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument
mksh6 Lower Case glob

[mksh stdout] Expected 'ABC DEF\nABC DEF\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[4]: ${x,[d-f]}: bad substitution
ksh6 Lower Case glob

[ksh stdout] Expected 'ABC DEF\nABC DEF\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[4]: ${x,[d-f]}: bad substitution
osh6 Lower Case glob

[osh stdout] Expected 'ABC DEF\nABC DEF\n', got ''
[osh status] Expected 0, got -6

stdout:
stderr: 
osh: _gen/bin/oils_for_unix.mycpp.cc:46236: BigStr* string_ops::DoUnarySuffixOp(BigStr*, syntax_asdl::Token*, BigStr*, bool): Assertion `false' failed.
mksh7 ${x@u} U L - upper / lower case (bash 5.1 feature)

[mksh stdout] Expected 'Abc DEF\nABC DEF\nabc def\n', got 'abc DEF\nabc DEF\nabc DEF\n'

stdout:
abc DEF
abc DEF
abc DEF
stderr:
ksh7 ${x@u} U L - upper / lower case (bash 5.1 feature)

[ksh stdout] Expected 'Abc DEF\nABC DEF\nabc def\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: ${x@u}: bad substitution
toysh7 ${x@u} U L - upper / lower case (bash 5.1 feature)

[toysh stdout] Expected 'Abc DEF\nABC DEF\nabc def\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 3: sh: x: @u}"
main: line 5: sh: x: @U}"
main: line 7: sh: x: @L}"
sush7 ${x@u} U L - upper / lower case (bash 5.1 feature)

[sush stdout] Expected 'Abc DEF\nABC DEF\nabc def\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${x@u}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: `${x@U}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: `${x@L}': bad substitution
osh7 ${x@u} U L - upper / lower case (bash 5.1 feature)

[osh stdout] Expected 'Abc DEF\nABC DEF\nabc def\n', got ''
[osh status] Expected 0, got 2

stdout:
stderr: 
  echo "${x@u}"
           ^
[ stdin ]:3: Unexpected token in ${} (VOp3)
toysh8 ${x@Q}

[toysh stdout] Expected 'OK\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: x: @Q}"
sush8 ${x@Q}

[sush stdout] Expected 'OK\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${x@Q}': bad substitution
mksh9 ${array@Q} and ${array[@]@Q}

[mksh stdout] Expected "'x' 'y\\nz'\n'x'\n'x'\n", got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[2]: ${array[@]@Q}: bad substitution
ksh9 ${array@Q} and ${array[@]@Q}

[ksh stdout] Expected "'x' 'y\\nz'\n'x'\n'x'\n", got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${array[@]@Q}: bad substitution
toysh9 ${array@Q} and ${array[@]@Q}

[toysh stdout] Expected "'x' 'y\\nz'\n'x'\n'x'\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: x
sush9 ${array@Q} and ${array[@]@Q}

[sush stdout] Expected "'x' 'y\\nz'\n'x'\n'x'\n", got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${array[@]@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${array@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${array@Q}': bad substitution
osh9 ${array@Q} and ${array[@]@Q}

stdout:
x $'y\\nz'
x
x
stderr:
mksh10 ${!prefix@} ${!prefix*} yields sorted array of var names

[mksh stdout] Expected "['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n" Got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[8]: ${!Z*}: bad substitution
ksh10 ${!prefix@} ${!prefix*} yields sorted array of var names

[ksh stdout] Expected "['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n" Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[8]: ${!Z*}: bad substitution
toysh10 ${!prefix@} ${!prefix*} yields sorted array of var names

[toysh stdout] Expected "['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n" Got "['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n['Z', 'ZOOM', 'ZIP', 'ZOO']\n"

stdout:
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
['Z', 'ZOOM', 'ZIP', 'ZOO']
stderr:
sush10 ${!prefix@} ${!prefix*} yields sorted array of var names

[sush stdout] Expected "['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z ZIP ZOO ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n['Z', 'ZIP', 'ZOO', 'ZOOM']\n" Got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: `${!Z*}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: `${!Z@}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: `${!Z*}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: `${!Z@}': bad substitution
mksh11 ${!prefix@} matches var name (regression)

[mksh stdout] Expected 'hello1 hello2 hello3\nhello hello1 hello2 hello3\n' Got 'hello\nhello\n'

stdout:
hello
hello
stderr:
ksh11 ${!prefix@} matches var name (regression)

[ksh stdout] Expected 'hello1 hello2 hello3\nhello hello1 hello2 hello3\n' Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${!hello@}: bad substitution
toysh11 ${!prefix@} matches var name (regression)

[toysh stdout] Expected 'hello1 hello2 hello3\nhello hello1 hello2 hello3\n' Got 'hello3 hello2 hello1\n'
[toysh status] Expected 0, got 2

stdout:
hello3 hello2 hello1
stderr:
main: line 3: sh: syntax error: echo
sush11 ${!prefix@} matches var name (regression)

[sush stdout] Expected 'hello1 hello2 hello3\nhello hello1 hello2 hello3\n' Got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${!hello@}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${!hello@}': bad substitution
mksh12 ${var@a} for attributes

[mksh stdout] Expected 'a\nar\nrx\n', got 'one\n'
[mksh status] Expected 0, got 1

stdout:
one
stderr:
mksh: <stdin>[3]: syntax error: '(' unexpected
ksh12 ${var@a} for attributes

[ksh stdout] Expected 'a\nar\nrx\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${array@a}: bad substitution
toysh12 ${var@a} for attributes

[toysh stdout] Expected 'a\nar\nrx\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: one
sush12 ${var@a} for attributes

[sush stdout] Expected 'a\nar\nrx\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${array@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${array@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${PYTHONPATH@a}': bad substitution
mksh13 ${var@a} error conditions

[mksh stdout] Expected '[]\n', got '[0]\n'

stdout:
[0]
stderr:
ksh13 ${var@a} error conditions

[ksh stdout] Expected '[]\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: ${?@a}: bad substitution
toysh13 ${var@a} error conditions

[toysh stdout] Expected '[]\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 1: sh: ?: @a}]
sush13 ${var@a} error conditions

[sush stdout] Expected '[]\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${?@a}': bad substitution
ksh14 undef and @P @Q @a

[ksh stdout] Expected '\nstatus=0\n\nstatus=0\n\nstatus=0\n', got "status=1\n''\nstatus=0\nstatus=1\n"

stdout:
status=1
''
status=0
status=1
stderr:
E: ksh: ${undef@P}: bad substitution
E: ksh: ${undef@a}: bad substitution
sush14 undef and @P @Q @a

[sush stdout] Expected '\nstatus=0\n\nstatus=0\n\nstatus=0\n', got 'status=1\nstatus=1\nstatus=1\n'

stdout:
status=1
status=1
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${undef@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${undef@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${undef@a}': bad substitution
mksh15 argv array and @P @Q @a

[mksh stdout] Expected "a b c\nstatus=0\n'a' 'b\\nc'\nstatus=0\n\nstatus=0\n" Got 'a b c\nstatus=0\nstatus=1\na b c\nstatus=0\n'

stdout:
a b c
status=0
status=1
a b c
status=0
stderr:
dummy: ${@@Q}: bad substitution
ksh15 argv array and @P @Q @a

[ksh stdout] Expected "a b c\nstatus=0\n'a' 'b\\nc'\nstatus=0\n\nstatus=0\n" Got 'status=1\nstatus=1\nstatus=1\n'

stdout:
status=1
status=1
status=1
stderr:
E: dummy: ${@@P}: bad substitution
E: dummy: ${@@Q}: bad substitution
E: dummy: ${@@a}: bad substitution
toysh15 argv array and @P @Q @a

[toysh stdout] Expected "a b c\nstatus=0\n'a' 'b\\nc'\nstatus=0\n\nstatus=0\n" Got 'status=1\nstatus=1\nstatus=1\n'

stdout:
status=1
status=1
status=1
stderr:
-c: line 1: sh: @: @P}
-c: line 1: sh: @: @Q}
-c: line 1: sh: @: @a}
sush15 argv array and @P @Q @a

[sush stdout] Expected "a b c\nstatus=0\n'a' 'b\\nc'\nstatus=0\n\nstatus=0\n" Got 'status=1\nstatus=1\nstatus=1\n'

stdout:
status=1
status=1
status=1
stderr:
dummy: line 1: `${@@P}': bad substitution
dummy: line 1: `${@@Q}': bad substitution
dummy: line 1: `${@@a}': bad substitution
osh15 argv array and @P @Q @a

[osh stdout] Expected "a b c\nstatus=0\n'a' 'b\\nc'\nstatus=0\n\nstatus=0\n" Got "a b c\nstatus=0\na $'b\\\\nc'\nstatus=0\na a a\nstatus=0\n"

stdout:
a b c
status=0
a $'b\\nc'
status=0
a a a
status=0
stderr:
mksh16 assoc array and @P @Q @a

[mksh stdout] Expected "- y\nstatus=0\n- 'y'\nstatus=0\nA - A\nstatus=0\n" Got 'status=1\nstatus=0\nstatus=1\n'

stdout:
status=1
status=0
status=1
stderr:
mksh: syntax error: '(' unexpected
mksh: syntax error: '(' unexpected
mksh: syntax error: '(' unexpected
ksh16 assoc array and @P @Q @a

[ksh stdout] Expected "- y\nstatus=0\n- 'y'\nstatus=0\nA - A\nstatus=0\n" Got 'status=1\nstatus=0\nstatus=1\n'

stdout:
status=1
status=0
status=1
stderr:
E: ksh: syntax error: unexpected '('
E: ksh: syntax error: unexpected '('
E: ksh: syntax error: unexpected '('
toysh16 assoc array and @P @Q @a

[toysh stdout] Expected "- y\nstatus=0\n- 'y'\nstatus=0\nA - A\nstatus=0\n" Got 'status=2\nstatus=0\nstatus=2\n'

stdout:
status=2
status=0
status=2
stderr:
-c: line 1: sh: syntax error: )
-c: line 1: sh: syntax error: )
-c: line 1: sh: syntax error: )
sush16 assoc array and @P @Q @a

[sush stdout] Expected "- y\nstatus=0\n- 'y'\nstatus=0\nA - A\nstatus=0\n" Got 'status=1\nstatus=0\nstatus=1\n'

stdout:
status=1
status=0
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${A@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${A@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${A@a}': bad substitution
brush18 ${#var@X} is a parse error

[brush stdout] Expected 'fail\nfail\nfail\n', got '${#A[@]@P}\n${#A[@]@Q}\n${#A[@]@a}\n'

stdout:
${#A[@]@P}
${#A[@]@Q}
${#A[@]@a}
stderr:
bash19 ${!A@a} and ${!A[@]@a}

stdout:
x=
invalid=
stderr:
mksh19 ${!A@a} and ${!A[@]@a}

[mksh stdout] Expected 'x=\n', got ''

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
ksh19 ${!A@a} and ${!A[@]@a}

[ksh stdout] Expected 'x=\n', got ''

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected '('
toysh19 ${!A@a} and ${!A[@]@a}

[toysh stdout] Expected 'x=\n', got ''
[toysh status] Expected 1, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
sush19 ${!A@a} and ${!A[@]@a}

[sush stdout] Expected 'x=\n', got ''

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${!A[@]@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${!A@a}': bad substitution
brush19 ${!A@a} and ${!A[@]@a}

[brush stdout] Expected 'x=\n', got 'x=${!A[@]@a}\ninvalid=${!A@a}\n'
[brush status] Expected 1, got 0

stdout:
x=${!A[@]@a}
invalid=${!A@a}
stderr:
mksh20 undef vs. empty string in var ops

[mksh stdout] Expected "'x' '' 'x'\n'x' '' 'x'\n'x' '' 'x'\nx='x' empty='' x='x'\nr r\n" Got 'x x\nx x\nx x\nx x\nx x\n'

stdout:
x x
x x
x x
x x
x x
stderr:
mksh: <stdin>[12]: declare: not found
ksh20 undef vs. empty string in var ops

[ksh stdout] Expected "'x' '' 'x'\n'x' '' 'x'\n'x' '' 'x'\nx='x' empty='' x='x'\nr r\n" Got "x '' '' x\n"
[ksh status] Expected 0, got 1

stdout:
x '' '' x
stderr:
E: ksh: <stdin>[6]: ${x@K}: bad substitution
toysh20 undef vs. empty string in var ops

[toysh stdout] Expected "'x' '' 'x'\n'x' '' 'x'\n'x' '' 'x'\nx='x' empty='' x='x'\nr r\n" Got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 4: sh: x: @Q}
main: line 6: sh: x: @K}
main: line 8: sh: x: @k}
main: line 10: sh: x: @A}
main: line 13: sh: x: @a}
sush20 undef vs. empty string in var ops

[sush stdout] Expected "'x' '' 'x'\n'x' '' 'x'\n'x' '' 'x'\nx='x' empty='' x='x'\nr r\n" Got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${x@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${x@K}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: `${x@k}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: `${x@A}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 13: `${x@a}': bad substitution
osh20 undef vs. empty string in var ops

[osh stdout] Expected "'x' '' 'x'\n'x' '' 'x'\n'x' '' 'x'\nx='x' empty='' x='x'\nr r\n" Got "x '' x\n"
[osh status] Expected 0, got 2

stdout:
x '' x
stderr:
  echo ${x@K} ${empty@K} ${undef@K} ${x@K}
          ^
[ stdin ]:6: Unexpected token in ${} (VOp3)
mksh21 -o nounset with var ops

[mksh stdout] Expected 'stat: 1\nstat: 1\nstat: 1\n', got '\nstat: 0\nstat: 1\nstat: 1\n'

stdout:
stat: 0
stat: 1
stat: 1
stderr:
mksh: <stdin>[3]: undef: parameter not set
mksh: <stdin>[4]: undef: parameter not set
ksh21 -o nounset with var ops

[ksh stdout] Expected 'stat: 1\nstat: 1\nstat: 1\n', got "''\nstat: 0\nstat: 1\nstat: 1\n"

stdout:
''
stat: 0
stat: 1
stat: 1
stderr:
E: ksh: <stdin>[3]: ${undef@P}: bad substitution
E: ksh: <stdin>[4]: ${undef@a}: bad substitution
brush21 -o nounset with var ops

[brush stdout] Expected 'stat: 1\nstat: 1\nstat: 1\n', got '\nstat: 0\n\nstat: 0\n\nstat: 0\n'

stdout:
stat: 0

stat: 0

stat: 0
stderr:
mksh22 ${a[0]@a} and ${a@a}

[mksh stdout] Expected "attr = 'a'\nattr = 'a'\n", got "attr = '1'\nattr = '1'\n"

stdout:
attr = '1'
attr = '1'
stderr:
ksh22 ${a[0]@a} and ${a@a}

[ksh stdout] Expected "attr = 'a'\nattr = 'a'\n", got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${a[0]@a}: bad substitution
toysh22 ${a[0]@a} and ${a@a}

[toysh stdout] Expected "attr = 'a'\nattr = 'a'\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: 1
sush22 ${a[0]@a} and ${a@a}

[sush stdout] Expected "attr = 'a'\nattr = 'a'\n", got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${a[0]@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${a@a}': bad substitution
mksh23 ${!r@a} with r='a[0]' (attribute for indirect expansion of an array element)

[mksh stdout] Expected 'a\na\nA\nA\n', got 'r\nr\n'
[mksh status] Expected 0, got 1

stdout:
r
r
stderr:
mksh: <stdin>[7]: syntax error: '(' unexpected
ksh23 ${!r@a} with r='a[0]' (attribute for indirect expansion of an array element)

[ksh stdout] Expected 'a\na\nA\nA\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: ${!r@a}: bad substitution
toysh23 ${!r@a} with r='a[0]' (attribute for indirect expansion of an array element)

[toysh stdout] Expected 'a\na\nA\nA\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: 1
sush23 ${!r@a} with r='a[0]' (attribute for indirect expansion of an array element)

[sush stdout] Expected 'a\na\nA\nA\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${!r@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: `${!r@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: `${!r@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: `${!r@a}': bad substitution
brush23 ${!r@a} with r='a[0]' (attribute for indirect expansion of an array element)

[brush stdout] Expected 'a\na\nA\nA\n', got '${!r@a}\n${!r@a}\n${!r@a}\n${!r@a}\n'

stdout:
${!r@a}
${!r@a}
${!r@a}
${!r@a}
stderr:
bash24 Array expansion with nullary var op @Q

stdout:
["'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'"]
["'1' '2' '3' '4' '5' '6' '7' '8' '9'"]
["'ysh'", "'osh'", "'world'", "'hello'"]
["'ysh' 'osh' 'world' 'hello'"]
[]
['']
stderr:
mksh24 Array expansion with nullary var op @Q

[mksh stdout] Expected "['1', '2', '3', '4', '5', '6', '7', '8', '9']\n['1 2 3 4 5 6 7 8 9']\n['hello', 'world', 'osh', 'ysh']\n['hello world osh ysh']\n[]\n['']\n" Got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
ksh24 Array expansion with nullary var op @Q

[ksh stdout] Expected "['1', '2', '3', '4', '5', '6', '7', '8', '9']\n['1 2 3 4 5 6 7 8 9']\n['hello', 'world', 'osh', 'ysh']\n['hello world osh ysh']\n[]\n['']\n" Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected '('
toysh24 Array expansion with nullary var op @Q

[toysh stdout] Expected "['1', '2', '3', '4', '5', '6', '7', '8', '9']\n['1 2 3 4 5 6 7 8 9']\n['hello', 'world', 'osh', 'ysh']\n['hello world osh ysh']\n[]\n['']\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
sush24 Array expansion with nullary var op @Q

[sush stdout] Expected "['1', '2', '3', '4', '5', '6', '7', '8', '9']\n['1 2 3 4 5 6 7 8 9']\n['hello', 'world', 'osh', 'ysh']\n['hello world osh ysh']\n[]\n['']\n" Got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'a': syntax error: operand expected (error token is "'a'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'b': syntax error: operand expected (error token is "'b'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'c': syntax error: operand expected (error token is "'c'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'd': syntax error: operand expected (error token is "'d'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${a[@]@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: `${a[*]@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${A[@]@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: `${A[*]@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: `${u[@]@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: `${u[*]@Q}': bad substitution
brush24 Array expansion with nullary var op @Q

[brush stdout] Expected "['1', '2', '3', '4', '5', '6', '7', '8', '9']\n['1 2 3 4 5 6 7 8 9']\n['hello', 'world', 'osh', 'ysh']\n['hello world osh ysh']\n[]\n['']\n" Got '["\'1\'", "\'2\'", "\'3\'", "\'4\'", "\'5\'", "\'6\'", "\'7\'", "\'8\'", "\'9\'"]\n["\'1\' \'2\' \'3\' \'4\' \'5\' \'6\' \'7\' \'8\' \'9\'"]\n["\'hello\'", "\'world\'", "\'osh\'", "\'ysh\'"]\n["\'hello\' \'world\' \'osh\' \'ysh\'"]\n[]\n[\'\']\n'

stdout:
["'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'"]
["'1' '2' '3' '4' '5' '6' '7' '8' '9'"]
["'hello'", "'world'", "'osh'", "'ysh'"]
["'hello' 'world' 'osh' 'ysh'"]
[]
['']
stderr:
bash25 Array expansion with nullary var op @P

stdout:
['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1 2 3 4 5 6 7 8 9']
['ysh', 'osh', 'world', 'hello']
['ysh osh world hello']
[]
['']
stderr:
mksh25 Array expansion with nullary var op @P

[mksh stdout] Expected "['1', '2', '3', '4', '5', '6', '7', '8', '9']\n['1 2 3 4 5 6 7 8 9']\n['hello', 'world', 'osh', 'ysh']\n['hello world osh ysh']\n[]\n['']\n" Got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
ksh25 Array expansion with nullary var op @P

[ksh stdout] Expected "['1', '2', '3', '4', '5', '6', '7', '8', '9']\n['1 2 3 4 5 6 7 8 9']\n['hello', 'world', 'osh', 'ysh']\n['hello world osh ysh']\n[]\n['']\n" Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected '('
toysh25 Array expansion with nullary var op @P

[toysh stdout] Expected "['1', '2', '3', '4', '5', '6', '7', '8', '9']\n['1 2 3 4 5 6 7 8 9']\n['hello', 'world', 'osh', 'ysh']\n['hello world osh ysh']\n[]\n['']\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
sush25 Array expansion with nullary var op @P

[sush stdout] Expected "['1', '2', '3', '4', '5', '6', '7', '8', '9']\n['1 2 3 4 5 6 7 8 9']\n['hello', 'world', 'osh', 'ysh']\n['hello world osh ysh']\n[]\n['']\n" Got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'a': syntax error: operand expected (error token is "'a'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'b': syntax error: operand expected (error token is "'b'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'c': syntax error: operand expected (error token is "'c'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'd': syntax error: operand expected (error token is "'d'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${a[@]@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: `${a[*]@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${A[@]@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: `${A[*]@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: `${u[@]@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: `${u[*]@P}': bad substitution
mksh26 Array expansion with nullary var op @a

[mksh stdout] Expected "['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']\n['a a a a a a a a a']\n['A', 'A', 'A', 'A']\n['A A A A']\n[]\n['']\n" Got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
ksh26 Array expansion with nullary var op @a

[ksh stdout] Expected "['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']\n['a a a a a a a a a']\n['A', 'A', 'A', 'A']\n['A A A A']\n[]\n['']\n" Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected '('
toysh26 Array expansion with nullary var op @a

[toysh stdout] Expected "['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']\n['a a a a a a a a a']\n['A', 'A', 'A', 'A']\n['A A A A']\n[]\n['']\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
sush26 Array expansion with nullary var op @a

[sush stdout] Expected "['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']\n['a a a a a a a a a']\n['A', 'A', 'A', 'A']\n['A A A A']\n[]\n['']\n" Got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'a': syntax error: operand expected (error token is "'a'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'b': syntax error: operand expected (error token is "'b'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'c': syntax error: operand expected (error token is "'c'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: 'd': syntax error: operand expected (error token is "'d'")
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${a[@]@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: `${a[*]@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${A[@]@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: `${A[*]@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: `${u[@]@a}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: `${u[*]@a}': bad substitution
brush26 Array expansion with nullary var op @a

[brush stdout] Expected "['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']\n['a a a a a a a a a']\n['A', 'A', 'A', 'A']\n['A A A A']\n[]\n['']\n" Got "['a']\n['a']\n['A']\n['A']\n['']\n['']\n"

stdout:
['a']
['a']
['A']
['A']
['']
['']
stderr: