You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2017/11/07 19:26:50 UTC
[08/10] qpid-proton git commit: PROTON-1064: [ruby] New Container
with native ruby IO
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/51cda9d5/proton-c/bindings/ruby/tests/test_tools.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/tests/test_tools.rb b/proton-c/bindings/ruby/tests/test_tools.rb
index 8de86e2..b45add2 100644
--- a/proton-c/bindings/ruby/tests/test_tools.rb
+++ b/proton-c/bindings/ruby/tests/test_tools.rb
@@ -24,7 +24,8 @@ require 'qpid_proton'
require 'thread'
require 'socket'
-Container = Qpid::Proton::Reactor::Container
+Container = Qpid::Proton::Container
+ListenHandler = Qpid::Proton::Listener
MessagingHandler = Qpid::Proton::Handler::MessagingHandler
class TestError < Exception; end
@@ -44,6 +45,7 @@ end
# Handler that records some common events that are checked by tests
class TestHandler < MessagingHandler
+ # TODO aconway 2017-10-28: make on_error stuff part of the default handler.
attr_reader :errors, :connections, :sessions, :links, :messages
@@ -67,7 +69,7 @@ class TestHandler < MessagingHandler
# TODO aconway 2017-08-15: implement in MessagingHandler
def on_error(event, endpoint)
- @errors.push "#{event.type}: #{endpoint.condition.name}: #{endpoint.condition.description}"
+ @errors.push "#{event.type}: #{endpoint.condition.inspect}"
raise_errors if @raise_errors
end
@@ -76,7 +78,7 @@ class TestHandler < MessagingHandler
end
def on_connection_error(event)
- on_error(event, event.condition)
+ on_error(event, event.connection)
end
def on_session_error(event)
@@ -87,21 +89,20 @@ class TestHandler < MessagingHandler
on_error(event, event.link)
end
- def on_opened(queue, endpoint)
+ def endpoint_opened(queue, endpoint)
queue.push(endpoint)
- endpoint.open
end
def on_connection_opened(event)
- on_opened(@connections, event.connection)
+ endpoint_opened(@connections, event.connection)
end
def on_session_opened(event)
- on_opened(@sessions, event.session)
+ endpoint_opened(@sessions, event.session)
end
def on_link_opened(event)
- on_opened(@links, event.link)
+ endpoint_opened(@links, event.link)
end
def on_message(event)
@@ -109,19 +110,10 @@ class TestHandler < MessagingHandler
end
end
-# A TestHandler that listens on a random port
-class TestServer < TestHandler
- def initialize
- super
- @server = TCPServer.open(0)
- end
-
- def host() ""; end
- def port() @server.addr[1]; end
- def addr() "#{host}:#{port}"; end
-
- def on_start(e)
- super
- @listener = e.container.listen_io(@server)
- end
+# ListenHandler that closes the Listener after first accept
+class ListenOnceHandler < ListenHandler
+ def initialize(opts={}) @opts=opts; end
+ def on_error(l, e) raise TestError, e; end
+ def on_accept(l) l.close; return @opts; end
+ attr_reader :opts
end
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org