mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/socket/rubysocket.h (rb_cSockOpt): declared.
(sockopt_new): ditto. (Init_sockopt): ditto. * ext/socket/init.c (Init_socket_init): call Init_sockopt. * ext/socket/depend: add dependency for option.o * ext/socket/mkconstants.rb: generate intern_level, intern_so_optname, intern_ip_optname, intern_ipv6_optname, intern_tcp_optname, intern_udp_optname and intern_scm_optname. * ext/socket/extconf.rb: add option.o. * ext/socket/basicsocket.c (bsock_setsockopt): accept Socket::Option object. (bsock_getsockopt): return Socket::Option object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a2d8643e93
commit
ef9206bbea
10 changed files with 428 additions and 8 deletions
|
@ -15,19 +15,19 @@ class TestBasicSocket < Test::Unit::TestCase
|
|||
def test_getsockopt
|
||||
inet_stream do |s|
|
||||
n = s.getsockopt(Socket::SOL_SOCKET, Socket::SO_TYPE)
|
||||
assert_equal([Socket::SOCK_STREAM].pack("i"), n)
|
||||
assert_equal([Socket::SOCK_STREAM].pack("i"), n.data)
|
||||
|
||||
n = s.getsockopt("SOL_SOCKET", "SO_TYPE")
|
||||
assert_equal([Socket::SOCK_STREAM].pack("i"), n)
|
||||
assert_equal([Socket::SOCK_STREAM].pack("i"), n.data)
|
||||
|
||||
n = s.getsockopt(:SOL_SOCKET, :SO_TYPE)
|
||||
assert_equal([Socket::SOCK_STREAM].pack("i"), n)
|
||||
assert_equal([Socket::SOCK_STREAM].pack("i"), n.data)
|
||||
|
||||
n = s.getsockopt(:SOCKET, :TYPE)
|
||||
assert_equal([Socket::SOCK_STREAM].pack("i"), n)
|
||||
assert_equal([Socket::SOCK_STREAM].pack("i"), n.data)
|
||||
|
||||
n = s.getsockopt(Socket::SOL_SOCKET, Socket::SO_ERROR)
|
||||
assert_equal([0].pack("i"), n)
|
||||
assert_equal([0].pack("i"), n.data)
|
||||
|
||||
val = Object.new
|
||||
class << val; self end.send(:define_method, :to_int) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue