mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	of SO_BINDTODEVICE. fixed: [ruby-dev:25133] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			593 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			593 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
begin
 | 
						|
  require "socket"
 | 
						|
  require "test/unit"
 | 
						|
rescue LoadError
 | 
						|
end
 | 
						|
 | 
						|
 | 
						|
class TestTCPSocket < Test::Unit::TestCase
 | 
						|
  def test_recvfrom # [ruby-dev:24705]
 | 
						|
    c = s = nil
 | 
						|
    svr = TCPServer.new("localhost", 0)
 | 
						|
    th = Thread.new {
 | 
						|
      c = svr.accept
 | 
						|
      ObjectSpace.each_object(String) {|s|
 | 
						|
        s.replace "a" if s.length == 0x10000 and !s.frozen?
 | 
						|
      }
 | 
						|
      c.print("x"*0x1000)
 | 
						|
    }
 | 
						|
    addr = svr.addr
 | 
						|
    sock = TCPSocket.open(addr[2], addr[1])
 | 
						|
    assert_raise(RuntimeError, SocketError) {
 | 
						|
      sock.recvfrom(0x10000)
 | 
						|
    }
 | 
						|
  ensure
 | 
						|
    th.join
 | 
						|
  end
 | 
						|
end if defined?(TCPSocket)
 |