Sha256: e5d6713bf7a1acd1f6b814e593fd457e5eb70d145f97ae12687350f2693c1f18
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
require 'fluent/load' require 'fluent/test' require 'socket' require 'plugin/out_test' require 'stringio' class DummyFluentd def initialize output.emits.clear rescue nil end WAIT = ENV['WAIT'] ? ENV['WAIT'].to_f : 0.1 def wait_transfer sleep WAIT end def port return @port if @port @port = 60001 loop do begin TCPServer.open('localhost', @port).close break rescue Errno::EADDRINUSE @port += 1 end end @port end def output sleep 0.0001 # next tick if Fluent::Engine.respond_to?(:match) Fluent::Engine.match('logger-test').output else Fluent::Engine.root_agent.event_router.match('logger-test') end end def queue queue = [] output.emits.each {|tag, time, record| queue << [tag, record] } queue end def startup config = Fluent::Config.parse(<<EOF, '(logger-spec)', '(logger-spec-dir)', true) <source> type forward port #{port} </source> <match logger-test.**> type test </match> EOF Fluent::Test.setup Fluent::Engine.run_configure(config) @coolio_default_loop = nil @thread = Thread.new { @coolio_default_loop = Coolio::Loop.default Fluent::Engine.run } wait_transfer end def shutdown @coolio_default_loop.stop rescue nil begin Fluent::Engine.stop rescue => e # for v0.12, calling stop may cause "loop not running" by internal default loop if e.message == "loop not running" Fluent::Engine.send :shutdown end end @thread.join @coolio_default_loop = @thread = nil end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-logger-0.6.1 | spec/support/dummy_fluentd.rb |