about summary refs log tree commit homepage
path: root/test/lib_server_accept.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-03-20 16:27:55 -0700
committerEric Wong <normalperson@yhbt.net>2011-03-20 16:27:55 -0700
commit59782a15d0be87130934cbecb34ed639be68b44a (patch)
treed8f8a0b5cccf979bd1ea5a4853a1937e95ec807e /test/lib_server_accept.rb
parent0ef079617b7d71cc26574247918c4a3e18454b21 (diff)
downloadkgio-59782a15d0be87130934cbecb34ed639be68b44a.tar.gz
This allows applications to not rely on global accept4_flags
Diffstat (limited to 'test/lib_server_accept.rb')
-rw-r--r--test/lib_server_accept.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/lib_server_accept.rb b/test/lib_server_accept.rb
index 1e6bf24..6ea461b 100644
--- a/test/lib_server_accept.rb
+++ b/test/lib_server_accept.rb
@@ -1,4 +1,5 @@
 require 'test/unit'
+require 'fcntl'
 require 'io/nonblock'
 $-w = true
 require 'kgio'
@@ -19,6 +20,24 @@ module LibServerAccept
     assert_equal @host, b.kgio_addr
   end
 
+  def test_tryaccept_flags
+    a = client_connect
+    IO.select([@srv])
+    b = @srv.kgio_tryaccept nil, 0
+    assert_kind_of Kgio::Socket, b
+    assert_equal false, b.nonblock?
+    assert_equal 0, b.fcntl(Fcntl::F_GETFD)
+  end
+
+  def test_blocking_accept_flags
+    a = client_connect
+    IO.select([@srv])
+    b = @srv.kgio_accept nil, 0
+    assert_kind_of Kgio::Socket, b
+    assert_equal false, b.nonblock?
+    assert_equal 0, b.fcntl(Fcntl::F_GETFD)
+  end
+
   def test_tryaccept_fail
     assert_equal nil, @srv.kgio_tryaccept
   end