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


Reply via email to