Results for nix-idioms.test.sh

statusbashdashashzshmkshkshtoyshsushbrushosh
pass 6000100135
ok 0000000001
FAIL 0666566530
total6666666666
casebashdashashzshmkshkshtoyshsushbrushoshdescription
0pass FAIL FAIL FAIL FAIL FAIL FAIL FAIL pass pass var ref to array 'preHooks[@]'
detailsdetailsdetailsdetailsdetailsdetailsdetails
1pass FAIL FAIL FAIL FAIL FAIL FAIL FAIL pass pass Similar to above with set -u
detailsdetailsdetailsdetailsdetailsdetailsdetails
2pass FAIL FAIL FAIL FAIL FAIL FAIL FAIL pass pass ${!ref} to undefined array
detailsdetailsdetailsdetailsdetailsdetailsdetails
3pass FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL pass ${!ref} to undefined string var is fatal, INCONSISTENT with array
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
4pass FAIL FAIL FAIL FAIL FAIL FAIL FAIL FAIL ok export with dynamic var name +=
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
5pass FAIL FAIL FAIL pass FAIL FAIL pass FAIL pass let idiom can be written in POSIX shell - eval ": \$(( ))"
detailsdetailsdetailsdetailsdetailsdetails
16 passed, 1 OK, 0 not implemented, 0 BUG, 43 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

dash0 var ref to array 'preHooks[@]'

[dash stdout] Expected "show\n[]\n[]\nshow\n['foo', 'bar', 'baz']\n['foo bar', 'baz']\n" Got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 11: Syntax error: "(" unexpected
ash0 var ref to array 'preHooks[@]'

[ash stdout] Expected "show\n[]\n[]\nshow\n['foo', 'bar', 'baz']\n['foo bar', 'baz']\n" Got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh0 var ref to array 'preHooks[@]'

[zsh stdout] Expected "show\n[]\n[]\nshow\n['foo', 'bar', 'baz']\n['foo bar', 'baz']\n" Got 'show\n'
[zsh status] Expected 0, got 1

stdout:
show
stderr:
show:3: bad substitution
mksh0 var ref to array 'preHooks[@]'

[mksh stdout] Expected "show\n[]\n[]\nshow\n['foo', 'bar', 'baz']\n['foo bar', 'baz']\n" Got "show\n['hooksSlice']\n['hooksSlice']\nshow\n['hooksSlice']\n['hooksSlice']\n"

stdout:
show
['hooksSlice']
['hooksSlice']
show
['hooksSlice']
['hooksSlice']
stderr:
ksh0 var ref to array 'preHooks[@]'

[ksh stdout] Expected "show\n[]\n[]\nshow\n['foo', 'bar', 'baz']\n['foo bar', 'baz']\n" Got "show\n['hooksSlice']\nshow\n['hooksSlice']\n"

stdout:
show
['hooksSlice']
show
['hooksSlice']
stderr:
E: ksh: <stdin>[12]: ${!hooksSlice+"${!hooksSlice}"}: bad substitution
E: ksh: <stdin>[15]: ${!hooksSlice+"${!hooksSlice}"}: bad substitution
toysh0 var ref to array 'preHooks[@]'

[toysh stdout] Expected "show\n[]\n[]\nshow\n['foo', 'bar', 'baz']\n['foo bar', 'baz']\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 11: sh: syntax error: show
sush0 var ref to array 'preHooks[@]'

[sush stdout] Expected "show\n[]\n[]\nshow\n['foo', 'bar', 'baz']\n['foo bar', 'baz']\n" Got "show\n[]\n[]\nshow\n['foo', 'bar', 'baz']\n['foo bar baz']\n"

stdout:
show
[]
[]
show
['foo', 'bar', 'baz']
['foo bar baz']
stderr:
dash1 Similar to above with set -u

[dash stdout] Expected "show\n[]\nshow\n['foo bar', 'baz']\n", got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 12: Syntax error: "(" unexpected
ash1 Similar to above with set -u

[ash stdout] Expected "show\n[]\nshow\n['foo bar', 'baz']\n", got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh1 Similar to above with set -u

[zsh stdout] Expected "show\n[]\nshow\n['foo bar', 'baz']\n", got 'show\n'
[zsh status] Expected 0, got 1

stdout:
show
stderr:
show:5: bad substitution
mksh1 Similar to above with set -u

[mksh stdout] Expected "show\n[]\nshow\n['foo bar', 'baz']\n", got "show\n['hooksSlice']\nshow\n['hooksSlice']\n"

stdout:
show
['hooksSlice']
show
['hooksSlice']
stderr:
ksh1 Similar to above with set -u

[ksh stdout] Expected "show\n[]\nshow\n['foo bar', 'baz']\n", got 'show\nshow\n'
[ksh status] Expected 0, got 1

stdout:
show
show
stderr:
E: ksh: <stdin>[13]: ${!hooksSlice+"${!hooksSlice}"}: bad substitution
E: ksh: <stdin>[16]: ${!hooksSlice+"${!hooksSlice}"}: bad substitution
toysh1 Similar to above with set -u

[toysh stdout] Expected "show\n[]\nshow\n['foo bar', 'baz']\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 12: sh: syntax error: show
sush1 Similar to above with set -u

[sush stdout] Expected "show\n[]\nshow\n['foo bar', 'baz']\n", got "show\n[]\nshow\n['foo bar baz']\n"

stdout:
show
[]
show
['foo bar baz']
stderr:
dash2 ${!ref} to undefined array

[dash stdout] Expected '[]\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 2: shopt: not found
dash: 6: Bad substitution
ash2 ${!ref} to undefined array

[ash stdout] Expected '[]\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: shopt: not found
ash: syntax error: bad substitution
zsh2 ${!ref} to undefined array

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

stdout:
stderr: 
zsh: command not found: shopt
zsh: bad substitution
mksh2 ${!ref} to undefined array

[mksh stdout] Expected '[]\n', got "['hookSlice']\nhookSlice\n"

stdout:
['hookSlice']
hookSlice
stderr:
mksh: <stdin>[2]: shopt: not found
ksh2 ${!ref} to undefined array

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

stdout:
stderr: 
E: ksh: <stdin>[2]: shopt: inaccessible or not found
E: ksh: <stdin>[6]: ${!hookSlice+"${!hookSlice}"}: bad substitution
toysh2 ${!ref} to undefined array

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

stdout:
stderr: 
sh: shopt: No such file or directory
main: line 6: sh: preHooks[@]: bad substitution
main: line 8: sh: preHooks[@]: bad substitution
sush2 ${!ref} to undefined array

[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 2: shopt: eval_unsafe_arith: not supported yet
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: preHooks: unbound variable
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: preHooks: unbound variable
dash3 ${!ref} to undefined string var is fatal, INCONSISTENT with array

[dash stdout] Expected '[]\n', got ''
[dash status] Expected 1, got 2

stdout:
stderr: 
dash: 3: Bad substitution
ash3 ${!ref} to undefined string var is fatal, INCONSISTENT with array

[ash stdout] Expected '[]\n', got ''
[ash status] Expected 1, got 2

stdout:
stderr: 
ash: syntax error: bad substitution
zsh3 ${!ref} to undefined string var is fatal, INCONSISTENT with array

[zsh stdout] Expected '[]\n', got ''

stdout:
stderr: 
zsh: bad substitution
mksh3 ${!ref} to undefined string var is fatal, INCONSISTENT with array

[mksh stdout] Expected '[]\n', got "['hookSlice']\n['hookSlice']\nend\n"
[mksh status] Expected 1, got 0

stdout:
['hookSlice']
['hookSlice']
end
stderr:
ksh3 ${!ref} to undefined string var is fatal, INCONSISTENT with array

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

stdout:
['hookSlice']
['hookSlice']
end
stderr:
toysh3 ${!ref} to undefined string var is fatal, INCONSISTENT with array

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

stdout:
[]
[]
end
stderr:
sush3 ${!ref} to undefined string var is fatal, INCONSISTENT with array

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

stdout:
[]
[]
end
stderr:
brush3 ${!ref} to undefined string var is fatal, INCONSISTENT with array

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

stdout:
[]
[]
end
stderr:
dash4 export with dynamic var name +=

[dash stdout] Expected 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\ndeclare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n' Got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 20: declare: not found
dash: 1: eval: NIX_LDFLAGS_foo+=: not found
dash: 25: declare: not found
ash4 export with dynamic var name +=

[ash stdout] Expected 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\ndeclare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n' Got ''
[ash status] Expected 0, got 127

stdout:
stderr: 
ash: declare: not found
ash: eval: line 9: NIX_LDFLAGS_foo+=: not found
ash: declare: not found
zsh4 export with dynamic var name +=

[zsh stdout] Expected 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\ndeclare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n' Got "typeset -x NIX_LDFLAGS_foo=' -Lone/lib64'\n"

stdout:
typeset -x NIX_LDFLAGS_foo=' -Lone/lib64'
stderr:
declare: no such variable: NIX_LDFLAGS_foo
mksh4 export with dynamic var name +=

[mksh stdout] Expected 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\ndeclare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n' Got ''
[mksh status] Expected 0, got 127

stdout:
stderr: 
mksh: <stdin>[20]: declare: not found
mksh: <stdin>[25]: declare: not found
ksh4 export with dynamic var name +=

[ksh stdout] Expected 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\ndeclare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n' Got ''
[ksh status] Expected 0, got 127

stdout:
stderr: 
E: ksh: <stdin>[20]: declare: inaccessible or not found
E: ksh: <stdin>[25]: declare: inaccessible or not found
toysh4 export with dynamic var name +=

[toysh stdout] Expected 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\ndeclare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n' Got 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n'

stdout:
declare -x NIX_LDFLAGS_foo=" -Lone/lib64"
stderr:
declare: NIX_LDFLAGS_foo: not found
sush4 export with dynamic var name +=

[sush stdout] Expected 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\ndeclare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n' Got 'declare -- NIX_LDFLAGS_foo= -Lone/lib64\n'

stdout:
declare -- NIX_LDFLAGS_foo= -Lone/lib64
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 20: NIX_LDFLAGS_foo: not found
brush4 export with dynamic var name +=

[brush stdout] Expected 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\ndeclare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n' Got 'declare -x NIX_LDFLAGS_foo=" -Lone/lib64"\n'

stdout:
declare -x NIX_LDFLAGS_foo=" -Lone/lib64"
stderr:
declare: NIX_LDFLAGS_foo: not found
osh4 export with dynamic var name +=

stdout:
declare -x NIX_LDFLAGS_foo=' -Lone/lib64'
stderr:
[ stdin ]:20: osh: declare: 'NIX_LDFLAGS_foo' is not defined
dash5 let idiom can be written in POSIX shell - eval ": \$(( ))"

[dash stdout] Expected 'i=0\nNIX_ENFORCE_NO_NATIVE=0\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=0\n\ni=1\nNIX_ENFORCE_NO_NATIVE=1\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=1\n\ni=2\nNIX_ENFORCE_NO_NATIVE=2\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=3\n\n' Got 'i=0\n'
[dash status] Expected 0, got 2

stdout:
i=0
stderr:
dash: 13: Bad substitution
ash5 let idiom can be written in POSIX shell - eval ": \$(( ))"

[ash stdout] Expected 'i=0\nNIX_ENFORCE_NO_NATIVE=0\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=0\n\ni=1\nNIX_ENFORCE_NO_NATIVE=1\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=1\n\ni=2\nNIX_ENFORCE_NO_NATIVE=2\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=3\n\n' Got 'i=0\n'
[ash status] Expected 0, got 2

stdout:
i=0
stderr:
ash: syntax error: bad substitution
zsh5 let idiom can be written in POSIX shell - eval ": \$(( ))"

[zsh stdout] Expected 'i=0\nNIX_ENFORCE_NO_NATIVE=0\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=0\n\ni=1\nNIX_ENFORCE_NO_NATIVE=1\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=1\n\ni=2\nNIX_ENFORCE_NO_NATIVE=2\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=3\n\n' Got 'i=0\n'
[zsh status] Expected 0, got 1

stdout:
i=0
stderr:
zsh: bad substitution
ksh5 let idiom can be written in POSIX shell - eval ": \$(( ))"

[ksh stdout] Expected 'i=0\nNIX_ENFORCE_NO_NATIVE=0\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=0\n\ni=1\nNIX_ENFORCE_NO_NATIVE=1\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=1\n\ni=2\nNIX_ENFORCE_NO_NATIVE=2\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=3\n\n' Got 'i=0\n'
[ksh status] Expected 0, got 1

stdout:
i=0
stderr:
E: ksh: <stdin>[20]: ${!inputVar:-0}: bad substitution
toysh5 let idiom can be written in POSIX shell - eval ": \$(( ))"

[toysh stdout] Expected 'i=0\nNIX_ENFORCE_NO_NATIVE=0\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=0\n\ni=1\nNIX_ENFORCE_NO_NATIVE=1\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=1\n\ni=2\nNIX_ENFORCE_NO_NATIVE=2\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=3\n\n' Got 'i=0\nNIX_ENFORCE_NO_NATIVE=0\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=\n\ni=1\nNIX_ENFORCE_NO_NATIVE=1\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=\n\ni=2\nNIX_ENFORCE_NO_NATIVE=2\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=\n\n'

stdout:
i=0
NIX_ENFORCE_NO_NATIVE=0
NIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=

i=1
NIX_ENFORCE_NO_NATIVE=1
NIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=

i=2
NIX_ENFORCE_NO_NATIVE=2
NIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=

stderr:
main: line 13: sh: bad math:  NIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu |= 0  @ 50
main: line 13: sh: bad math:  NIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu |= 1  @ 50
main: line 13: sh: bad math:  NIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu |= 2  @ 50
brush5 let idiom can be written in POSIX shell - eval ": \$(( ))"

[brush stdout] Expected 'i=0\nNIX_ENFORCE_NO_NATIVE=0\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=0\n\ni=1\nNIX_ENFORCE_NO_NATIVE=1\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=1\n\ni=2\nNIX_ENFORCE_NO_NATIVE=2\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=3\n\n' Got 'i=0\nNIX_ENFORCE_NO_NATIVE=0\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=\n\ni=1\nNIX_ENFORCE_NO_NATIVE=1\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=\n\ni=2\nNIX_ENFORCE_NO_NATIVE=2\nNIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=\n\n'

stdout:
i=0
NIX_ENFORCE_NO_NATIVE=0
NIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=

i=1
NIX_ENFORCE_NO_NATIVE=1
NIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=

i=2
NIX_ENFORCE_NO_NATIVE=2
NIX_ENFORCE_NO_NATIVE_x86_64_unknown_linux_gnu=

stderr:
ERROR failed to parse arithmetic expression
ERROR failed to parse arithmetic expression
ERROR failed to parse arithmetic expression