BasicSocket's set/getsockopt() are incorrect, fail RubySpec and crash
---------------------------------------------------------------------
Key: JRUBY-4293
URL: http://jira.codehaus.org/browse/JRUBY-4293
Project: JRuby
Issue Type: Bug
Components: Extensions, RubySpec
Affects Versions: JRuby 1.4
Environment: Latest JRuby
Reporter: Vladimir Sizikov
Assignee: Vladimir Sizikov
Fix For: JRuby 1.5
With the latest RubySpecs, many failures. And some crashes on invalid input too.
{code}
#>mspec ci -t j library/socket/basicsocket
jruby 1.5.0.dev (ruby 1.8.7 patchlevel 174) (2009-12-01 46d0b6c) (Java
HotSpot(TM) Client VM 1.6.0_03) [i386-java]
....................F.F....FFF
1)
BasicSocket#getsockopt gets a socket option Socket::SO_TYPE FAILED
Expected "\000\000\000\001"
to equal "\001\000\000\000"
/opt/work/rubyspec.git/library/socket/basicsocket/getsockopt_spec.rb:16
/opt/work/rubyspec.git/library/socket/basicsocket/getsockopt_spec.rb:4
/opt/work/rubyspec.git/library/socket/basicsocket/getsockopt_spec.rb:55:in
`load'
/opt/work/mspec.git/bin/mspec-ci:8
2)
BasicSocket#getsockopt gets a socket option Socket::SO_LINGER FAILED
Expected "\303\277\303\277\303\277\303\277"
to equal "\000\000\000\000\000\000\000\000"
/opt/work/rubyspec.git/library/socket/basicsocket/getsockopt_spec.rb:27
/opt/work/rubyspec.git/library/socket/basicsocket/getsockopt_spec.rb:4
/opt/work/rubyspec.git/library/socket/basicsocket/getsockopt_spec.rb:55:in
`load'
/opt/work/mspec.git/bin/mspec-ci:8
3)
BasicSocket#setsockopt sets the socket linger to some positive value FAILED
Expected "\000\000\303\277\303\277"
to equal "@\000\000\000"
/opt/work/rubyspec.git/library/socket/basicsocket/setsockopt_spec.rb:33
/opt/work/rubyspec.git/library/socket/basicsocket/setsockopt_spec.rb:4
/opt/work/rubyspec.git/library/socket/basicsocket/setsockopt_spec.rb:55:in
`load'
/opt/work/mspec.git/bin/mspec-ci:8
4)
BasicSocket#setsockopt sets the socket option Socket::SO_OOBINLINE FAILED
Expected " \000\000\000"
to equal "\001\000\000\000"
/opt/work/rubyspec.git/library/socket/basicsocket/setsockopt_spec.rb:40
/opt/work/rubyspec.git/library/socket/basicsocket/setsockopt_spec.rb:4
/opt/work/rubyspec.git/library/socket/basicsocket/setsockopt_spec.rb:55:in
`load'
/opt/work/mspec.git/bin/mspec-ci:8
5)
BasicSocket#setsockopt sets the socket option Socket::SO_SNDBUF FAILED
Expected -1039204352
to be greater than or equal to 4000
/opt/work/rubyspec.git/library/socket/basicsocket/setsockopt_spec.rb:107
/opt/work/rubyspec.git/library/socket/basicsocket/setsockopt_spec.rb:4
/opt/work/rubyspec.git/library/socket/basicsocket/setsockopt_spec.rb:55:in
`load'
/opt/work/mspec.git/bin/mspec-ci:8
Finished in 0.498000 seconds
12 files, 30 examples, 47 expectations, 5 failures, 0 errors
{code}
Will fix.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email