Class: Fluent::Test::TestDriver
- Inherits:
-
Object
- Object
- Fluent::Test::TestDriver
- Includes:
- Test::Unit::Assertions
- Defined in:
- lib/fluent/test/base.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#instance ⇒ Object
readonly
Returns the value of attribute instance.
Instance Method Summary collapse
- #configure(str, use_v1 = false) ⇒ Object
-
#initialize(klass, &block) ⇒ TestDriver
constructor
A new instance of TestDriver.
-
#run(num_waits = 10, &block) ⇒ Object
num_waits is for checking thread status.
Constructor Details
#initialize(klass, &block) ⇒ TestDriver
Returns a new instance of TestDriver.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/fluent/test/base.rb', line 28 def initialize(klass, &block) if klass.is_a?(Class) if block # Create new class for test w/ overwritten methods # klass.dup is worse because its ancestors does NOT include original class name klass_name = klass.name klass = Class.new(klass) klass.define_singleton_method("name") { klass_name } klass.module_eval(&block) end @instance = klass.new else @instance = klass end @instance.router = Engine.root_agent.event_router @instance.log = TestLogger.new Engine.root_agent.instance_variable_set(:@log, @instance.log) @config = Config.new end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
49 50 51 |
# File 'lib/fluent/test/base.rb', line 49 def config @config end |
#instance ⇒ Object (readonly)
Returns the value of attribute instance.
49 50 51 |
# File 'lib/fluent/test/base.rb', line 49 def instance @instance end |
Instance Method Details
#configure(str, use_v1 = false) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/fluent/test/base.rb', line 51 def configure(str, use_v1 = false) if str.is_a?(Fluent::Config::Element) @config = str else @config = Config.parse(str, "(test)", "(test_dir)", use_v1) end if label_name = @config['@label'] Engine.root_agent.add_label(label_name) end @instance.configure(@config) self end |
#run(num_waits = 10, &block) ⇒ Object
num_waits is for checking thread status. This will be removed after improved plugin API
65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/fluent/test/base.rb', line 65 def run(num_waits = 10, &block) @instance.start @instance.after_start begin # wait until thread starts num_waits.times { sleep 0.05 } return yield ensure @instance.shutdown end end |