diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-17 18:14:34 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-17 18:14:34 +0000 |
commit | 86aa5043d86a24ad9e1bbddecbf84ed21b87005a (patch) | |
tree | 58289e991373d5e846e59a61ca8cad4864317b46 /test/socket | |
parent | 75e0fde36b829fa558b87ac1a3edd6a8dbccf600 (diff) | |
download | ruby-86aa5043d86a24ad9e1bbddecbf84ed21b87005a.tar.gz |
* ext/socket/raddrinfo.c (addrinfo_mdump): new method.
(addrinfo_mload): new method.
(Init_addrinfo): define the method above.
* ext/socket/constants.c (constant_arg): str_to_int's first argument
constified.
* ext/socket/mkconstants.rb (gen_name_to_int_decl): generated
function's first argument constified.
(gen_name_to_int_func_in_guard): ditto.
(ipproto_to_int): generated.
* ext/socket/rubysocket.h (IS_IP_FAMILY): moved from raddrinfo.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/socket')
-rw-r--r-- | test/socket/test_addrinfo.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/socket/test_addrinfo.rb b/test/socket/test_addrinfo.rb index d6c264bb8f..4e232d02a6 100644 --- a/test/socket/test_addrinfo.rb +++ b/test/socket/test_addrinfo.rb @@ -274,6 +274,17 @@ class TestSocketAddrInfo < Test::Unit::TestCase s2.close if s2 && !s2.closed? end + def test_marshal + ai1 = AddrInfo.tcp("127.0.0.1", 80) + ai2 = Marshal.load(Marshal.dump(ai1)) + assert_equal(ai1.afamily, ai2.afamily) + assert_equal(ai1.ip_unpack, ai2.ip_unpack) + assert_equal(ai1.pfamily, ai2.pfamily) + assert_equal(ai1.socktype, ai2.socktype) + assert_equal(ai1.protocol, ai2.protocol) + assert_equal(ai1.canonname, ai2.canonname) + end + if Socket.const_defined?("AF_INET6") def test_addrinfo_new_inet6 @@ -290,6 +301,17 @@ class TestSocketAddrInfo < Test::Unit::TestCase assert_equal(["::1", 80], ai.ip_unpack) end + def test_marshal_inet6 + ai1 = AddrInfo.tcp("::1", 80) + ai2 = Marshal.load(Marshal.dump(ai1)) + assert_equal(ai1.afamily, ai2.afamily) + assert_equal(ai1.ip_unpack, ai2.ip_unpack) + assert_equal(ai1.pfamily, ai2.pfamily) + assert_equal(ai1.socktype, ai2.socktype) + assert_equal(ai1.protocol, ai2.protocol) + assert_equal(ai1.canonname, ai2.canonname) + end + end if defined?(UNIXSocket) && /cygwin/ !~ RUBY_PLATFORM @@ -325,5 +347,16 @@ class TestSocketAddrInfo < Test::Unit::TestCase assert(unix_ai.unix?) end + def test_marshal_unix + ai1 = AddrInfo.unix("/var/tmp/sock") + ai2 = Marshal.load(Marshal.dump(ai1)) + assert_equal(ai1.afamily, ai2.afamily) + assert_equal(ai1.unix_path, ai2.unix_path) + assert_equal(ai1.pfamily, ai2.pfamily) + assert_equal(ai1.socktype, ai2.socktype) + assert_equal(ai1.protocol, ai2.protocol) + assert_equal(ai1.canonname, ai2.canonname) + end + end end |