Results for nix-idioms.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 6100135
ok 0000001
FAIL 0566530
total6666666
casebashmkshkshtoyshsushbrushoshdescription
0pass FAIL FAIL FAIL FAIL pass pass var ref to array 'preHooks[@]'
detailsdetailsdetailsdetails
1pass FAIL FAIL FAIL FAIL pass pass Similar to above with set -u
detailsdetailsdetailsdetails
2pass FAIL FAIL FAIL FAIL pass pass ${!ref} to undefined array
detailsdetailsdetailsdetails
3pass FAIL FAIL FAIL FAIL FAIL pass ${!ref} to undefined string var is fatal, INCONSISTENT with array
detailsdetailsdetailsdetailsdetails
4pass FAIL FAIL FAIL FAIL FAIL ok export with dynamic var name +=
detailsdetailsdetailsdetailsdetailsdetails
5pass pass FAIL FAIL pass FAIL pass let idiom can be written in POSIX shell - eval ": \$(( ))"
detailsdetailsdetails
16 passed, 1 OK, 0 not implemented, 0 BUG, 25 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

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:
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:
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
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:
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
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