fluentd 0.10.45 → 0.10.46

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fluentd might be problematic. Click here for more details.

Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -1
  3. data/ChangeLog +13 -0
  4. data/Rakefile +18 -2
  5. data/fluentd.gemspec +3 -1
  6. data/lib/fluent/command/fluentd.rb +5 -0
  7. data/lib/fluent/config.rb +17 -333
  8. data/lib/fluent/config/basic_parser.rb +108 -0
  9. data/lib/fluent/config/configure_proxy.rb +145 -0
  10. data/lib/fluent/{config_dsl.rb → config/dsl.rb} +5 -1
  11. data/lib/fluent/config/element.rb +82 -0
  12. data/lib/fluent/config/error.rb +7 -0
  13. data/lib/fluent/config/literal_parser.rb +158 -0
  14. data/lib/fluent/config/parser.rb +96 -0
  15. data/lib/fluent/config/section.rb +115 -0
  16. data/lib/fluent/config/types.rb +86 -0
  17. data/lib/fluent/config/v1_parser.rb +156 -0
  18. data/lib/fluent/configurable.rb +108 -0
  19. data/lib/fluent/engine.rb +4 -3
  20. data/lib/fluent/load.rb +0 -1
  21. data/lib/fluent/parser.rb +15 -5
  22. data/lib/fluent/plugin/buf_memory.rb +13 -5
  23. data/lib/fluent/plugin/in_forward.rb +18 -5
  24. data/lib/fluent/plugin/in_http.rb +4 -2
  25. data/lib/fluent/plugin/in_tail.rb +1 -1
  26. data/lib/fluent/plugin/out_forward.rb +33 -29
  27. data/lib/fluent/registry.rb +76 -0
  28. data/lib/fluent/supervisor.rb +2 -1
  29. data/lib/fluent/test/base.rb +3 -1
  30. data/lib/fluent/version.rb +1 -1
  31. data/spec/config/config_parser_spec.rb +176 -0
  32. data/spec/config/configurable_spec.rb +373 -0
  33. data/spec/config/configure_proxy_spec.rb +96 -0
  34. data/spec/config/dsl_spec.rb +239 -0
  35. data/spec/config/helper.rb +50 -0
  36. data/spec/config/literal_parser_spec.rb +190 -0
  37. data/spec/config/section_spec.rb +97 -0
  38. data/spec/spec_helper.rb +60 -0
  39. data/test/plugin/{in_exec.rb → test_in_exec.rb} +0 -0
  40. data/test/plugin/{in_forward.rb → test_in_forward.rb} +5 -0
  41. data/test/plugin/{in_gc_stat.rb → test_in_gc_stat.rb} +0 -0
  42. data/test/plugin/{in_http.rb → test_in_http.rb} +0 -0
  43. data/test/plugin/{in_object_space.rb → test_in_object_space.rb} +0 -0
  44. data/test/plugin/{in_status.rb → test_in_status.rb} +0 -0
  45. data/test/plugin/{in_stream.rb → test_in_stream.rb} +0 -0
  46. data/test/plugin/{in_syslog.rb → test_in_syslog.rb} +0 -0
  47. data/test/plugin/{in_tail.rb → test_in_tail.rb} +0 -0
  48. data/test/plugin/{out_copy.rb → test_out_copy.rb} +0 -0
  49. data/test/plugin/{out_exec.rb → test_out_exec.rb} +0 -0
  50. data/test/plugin/{out_exec_filter.rb → test_out_exec_filter.rb} +0 -0
  51. data/test/plugin/{out_file.rb → test_out_file.rb} +0 -0
  52. data/test/plugin/{out_forward.rb → test_out_forward.rb} +15 -0
  53. data/test/plugin/{out_roundrobin.rb → test_out_roundrobin.rb} +0 -0
  54. data/test/plugin/{out_stdout.rb → test_out_stdout.rb} +0 -0
  55. data/test/plugin/{out_stream.rb → test_out_stream.rb} +0 -0
  56. data/test/scripts/fluent/plugin/parser_known.rb +3 -0
  57. data/test/{config.rb → test_config.rb} +1 -0
  58. data/test/{configdsl.rb → test_configdsl.rb} +1 -1
  59. data/test/{match.rb → test_match.rb} +0 -0
  60. data/test/{mixin.rb → test_mixin.rb} +0 -0
  61. data/test/{output.rb → test_output.rb} +0 -0
  62. data/test/{parser.rb → test_parser.rb} +22 -5
  63. metadata +114 -51
@@ -0,0 +1,97 @@
1
+ require 'fluent/config/section'
2
+
3
+ describe Fluent::Config::Section do
4
+ context 'class' do
5
+ describe '.name' do
6
+ it 'returns its full module name as String' do
7
+ expect(Fluent::Config::Section.name).to eql('Fluent::Config::Section')
8
+ end
9
+ end
10
+ end
11
+
12
+ context 'instance object' do
13
+ describe '#initialize' do
14
+ it 'creates blank object without argument' do
15
+ s = Fluent::Config::Section.new
16
+ expect(s.instance_eval{ @params }).to eql({})
17
+ end
18
+
19
+ it 'creates object which contains specified hash object itself' do
20
+ hash = {
21
+ name: 'tagomoris',
22
+ age: 34,
23
+ send: 'email',
24
+ class: 'normal',
25
+ keys: 5,
26
+ }
27
+ s1 = Fluent::Config::Section.new(hash)
28
+ expect(s1.instance_eval{ @params }).to eq(hash)
29
+ expect(s1[:name]).to eql("tagomoris")
30
+ expect(s1[:age]).to eql(34)
31
+ expect(s1[:send]).to eql("email")
32
+ expect(s1[:class]).to eql("normal")
33
+ expect(s1[:keys]).to eql(5)
34
+
35
+ expect(s1.name).to eql("tagomoris")
36
+ expect(s1.age).to eql(34)
37
+ expect(s1.send).to eql("email")
38
+ expect(s1.class).to eql("normal")
39
+ expect(s1.keys).to eql(5)
40
+
41
+ expect{ s1.dup }.to raise_error(NoMethodError)
42
+ end
43
+ end
44
+
45
+ describe '#to_h' do
46
+ it 'returns internal hash itself' do
47
+ hash = {
48
+ name: 'tagomoris',
49
+ age: 34,
50
+ send: 'email',
51
+ class: 'normal',
52
+ keys: 5,
53
+ }
54
+ s = Fluent::Config::Section.new(hash)
55
+ expect(s.to_h).to eq(hash)
56
+ expect(s.to_h.class).to eq(Hash)
57
+ end
58
+ end
59
+
60
+ describe '#instance_of?' do
61
+ it 'can judge whether it is a Section object or not' do
62
+ s = Fluent::Config::Section.new
63
+ expect(s.instance_of?(Fluent::Config::Section)).to be_true
64
+ expect(s.instance_of?(BasicObject)).to be_false
65
+ end
66
+ end
67
+
68
+ describe '#is_a?' do
69
+ it 'can judge whether it belongs to or not' do
70
+ s = Fluent::Config::Section.new
71
+ expect(s.is_a?(Fluent::Config::Section)).to be_true
72
+ expect(s.kind_of?(Fluent::Config::Section)).to be_true
73
+ expect(s.is_a?(BasicObject)).to be_true
74
+ end
75
+ end
76
+
77
+ describe '#+' do
78
+ it 'can merge 2 sections: argument side is primary, internal hash is newly created' do
79
+ h1 = {name: "s1", num: 10, class: "A"}
80
+ s1 = Fluent::Config::Section.new(h1)
81
+
82
+ h2 = {name: "s2", class: "A", num2: "5", num3: "8"}
83
+ s2 = Fluent::Config::Section.new(h2)
84
+ s = s1 + s2
85
+
86
+ expect(s.to_h.object_id).not_to eq(h1.object_id)
87
+ expect(s.to_h.object_id).not_to eq(h2.object_id)
88
+
89
+ expect(s.name).to eql("s2")
90
+ expect(s.num).to eql(10)
91
+ expect(s.class).to eql("A")
92
+ expect(s.num2).to eql("5")
93
+ expect(s.num3).to eql("8")
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,60 @@
1
+
2
+ require 'fluent/load'
3
+ require 'fileutils'
4
+
5
+ src_root = File.expand_path('..', File.dirname(__FILE__))
6
+ $LOAD_PATH << File.join(src_root, "lib")
7
+ $LOAD_PATH << src_root
8
+
9
+ if ENV['SIMPLE_COV']
10
+ require 'simplecov'
11
+ if defined?(SimpleCov::SourceFile)
12
+ mod = SimpleCov::SourceFile
13
+ def mod.new(*args, &block)
14
+ m = allocate
15
+ m.instance_eval do
16
+ begin
17
+ initialize(*args, &block)
18
+ rescue Encoding::UndefinedConversionError
19
+ @src = "".force_encoding('UTF-8')
20
+ end
21
+ end
22
+ m
23
+ end
24
+ end
25
+ SimpleCov.start do
26
+ add_filter 'spec/'
27
+ add_filter 'pkg/'
28
+ add_filter 'vendor/'
29
+ end
30
+ end
31
+
32
+ if ENV['GC_STRESS']
33
+ STDERR.puts "enable GC.stress"
34
+ GC.stress = true
35
+ end
36
+
37
+ require 'fluent/log'
38
+ require 'fluent/plugin'
39
+
40
+ class DummyLogDevice
41
+ attr_reader :logs
42
+ def initialize ; @logs = [] ; end
43
+ def tty? ; false ; end
44
+ def puts(*args) ; args.each{ |arg| write(arg + "\n") } ; end
45
+ def write(message) ; @logs.push message ; end
46
+ def flush ; true ; end
47
+ def close ; true ; end
48
+ end
49
+
50
+ class TestLogger < Fluent::PluginLogger
51
+ def initialize
52
+ @logdev = DummyLogDevice.new
53
+ super(Fluent::Log.new(@logdev))
54
+ end
55
+ def logs
56
+ @logdev.logs
57
+ end
58
+ end
59
+
60
+ $log ||= TestLogger.new
@@ -20,8 +20,13 @@ class ForwardInputTest < Test::Unit::TestCase
20
20
  d = create_driver
21
21
  assert_equal PORT, d.instance.port
22
22
  assert_equal '127.0.0.1', d.instance.bind
23
+ assert_equal 0, d.instance.linger_timeout
24
+ assert_equal 0.5, d.instance.blocking_timeout
25
+ assert !d.instance.backlog
23
26
  end
24
27
 
28
+ # TODO: Will add Loop::run arity check with stub/mock library
29
+
25
30
  def connect
26
31
  TCPSocket.new('127.0.0.1', PORT)
27
32
  end
@@ -1,4 +1,5 @@
1
1
  require 'fluent/test'
2
+ require 'helper'
2
3
 
3
4
  class ForwardOutputTest < Test::Unit::TestCase
4
5
  def setup
@@ -38,4 +39,18 @@ class ForwardOutputTest < Test::Unit::TestCase
38
39
  d = create_driver(CONFIG + "\nheartbeat_type tcp")
39
40
  assert_equal :tcp, d.instance.heartbeat_type
40
41
  end
42
+
43
+ def test_phi_failure_detector
44
+ d = create_driver(CONFIG + %[phi_failure_detector false \n phi_threshold 0])
45
+ node = d.instance.nodes.first
46
+ stub(node.failure).phi { raise 'Should not be called' }
47
+ node.tick
48
+ assert_equal node.available, true
49
+
50
+ d = create_driver(CONFIG + %[phi_failure_detector true \n phi_threshold 0])
51
+ node = d.instance.nodes.first
52
+ node.tick
53
+ assert_equal node.available, false
54
+ end
41
55
  end
56
+
@@ -0,0 +1,3 @@
1
+ module Fluent
2
+ TextParser.register_template('known', /^(?<message>.*)$/)
3
+ end
@@ -1,5 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/helper'
2
2
  require 'fluent/config'
3
+ require 'fluent/config/parser'
3
4
  require 'fluent/supervisor'
4
5
  require 'fluent/load'
5
6
  require 'fileutils'
@@ -1,4 +1,4 @@
1
- require 'fluent/config_dsl'
1
+ require 'fluent/config/dsl'
2
2
  require 'fluent/test'
3
3
  require 'helper'
4
4
 
File without changes
File without changes
File without changes
@@ -80,7 +80,7 @@ module ParserTest
80
80
  include ParserTest
81
81
 
82
82
  def setup
83
- @parser = TextParser::TEMPLATE_FACTORIES['apache'].call
83
+ @parser = TextParser::TEMPLATE_REGISTRY.lookup('apache').call
84
84
  end
85
85
 
86
86
  def test_call
@@ -126,7 +126,7 @@ module ParserTest
126
126
  include ParserTest
127
127
 
128
128
  def setup
129
- @parser = TextParser::TEMPLATE_FACTORIES['syslog'].call
129
+ @parser = TextParser::TEMPLATE_REGISTRY.lookup('syslog').call
130
130
  end
131
131
 
132
132
  def test_call
@@ -165,7 +165,7 @@ module ParserTest
165
165
  include ParserTest
166
166
 
167
167
  def setup
168
- @parser = TextParser::TEMPLATE_FACTORIES['nginx'].call
168
+ @parser = TextParser::TEMPLATE_REGISTRY.lookup('nginx').call
169
169
  @expected = {
170
170
  'remote' => '127.0.0.1',
171
171
  'host' => '192.168.0.1',
@@ -267,7 +267,7 @@ module ParserTest
267
267
  end
268
268
 
269
269
  def test_call
270
- parser = TextParser::TEMPLATE_FACTORIES['none'].call
270
+ parser = TextParser::TEMPLATE_REGISTRY.lookup('none').call
271
271
  time, record = parser.call('log message!')
272
272
 
273
273
  assert_equal({'message' => 'log message!'}, record)
@@ -286,7 +286,7 @@ module ParserTest
286
286
  include ParserTest
287
287
 
288
288
  def create_parser(conf)
289
- parser = TextParser::TEMPLATE_FACTORIES['multiline'].call
289
+ parser = TextParser::TEMPLATE_REGISTRY.lookup('multiline').call
290
290
  parser.configure(conf)
291
291
  parser
292
292
  end
@@ -363,4 +363,21 @@ EOS
363
363
  }, record)
364
364
  end
365
365
  end
366
+
367
+ class ParserLookupTest < ::Test::Unit::TestCase
368
+ include ParserTest
369
+
370
+ def test_unknown_format
371
+ assert_raise ConfigError do
372
+ TextParser::TEMPLATE_REGISTRY.lookup('unknown')
373
+ end
374
+ end
375
+
376
+ def test_find_parser
377
+ $LOAD_PATH.unshift(File.join(File.expand_path(File.dirname(__FILE__)), 'scripts'))
378
+ assert_nothing_raised ConfigError do
379
+ TextParser::TEMPLATE_REGISTRY.lookup('known')
380
+ end
381
+ end
382
+ end
366
383
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluentd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.45
4
+ version: 0.10.46
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-28 00:00:00.000000000 Z
11
+ date: 2014-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -112,16 +112,22 @@ dependencies:
112
112
  name: http_parser.rb
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: 0.5.1
118
+ - - "<"
119
+ - !ruby/object:Gem::Version
120
+ version: 0.7.0
118
121
  type: :runtime
119
122
  prerelease: false
120
123
  version_requirements: !ruby/object:Gem::Requirement
121
124
  requirements:
122
- - - "~>"
125
+ - - ">="
123
126
  - !ruby/object:Gem::Version
124
127
  version: 0.5.1
128
+ - - "<"
129
+ - !ruby/object:Gem::Version
130
+ version: 0.7.0
125
131
  - !ruby/object:Gem::Dependency
126
132
  name: sigdump
127
133
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +184,34 @@ dependencies:
178
184
  - - ">="
179
185
  - !ruby/object:Gem::Version
180
186
  version: 0.15.3
187
+ - !ruby/object:Gem::Dependency
188
+ name: rspec
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '2.13'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '2.13'
201
+ - !ruby/object:Gem::Dependency
202
+ name: simplecov
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: 0.6.4
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: 0.6.4
181
215
  - !ruby/object:Gem::Dependency
182
216
  name: rr
183
217
  requirement: !ruby/object:Gem::Requirement
@@ -240,7 +274,17 @@ files:
240
274
  - lib/fluent/command/debug.rb
241
275
  - lib/fluent/command/fluentd.rb
242
276
  - lib/fluent/config.rb
243
- - lib/fluent/config_dsl.rb
277
+ - lib/fluent/config/basic_parser.rb
278
+ - lib/fluent/config/configure_proxy.rb
279
+ - lib/fluent/config/dsl.rb
280
+ - lib/fluent/config/element.rb
281
+ - lib/fluent/config/error.rb
282
+ - lib/fluent/config/literal_parser.rb
283
+ - lib/fluent/config/parser.rb
284
+ - lib/fluent/config/section.rb
285
+ - lib/fluent/config/types.rb
286
+ - lib/fluent/config/v1_parser.rb
287
+ - lib/fluent/configurable.rb
244
288
  - lib/fluent/engine.rb
245
289
  - lib/fluent/env.rb
246
290
  - lib/fluent/event.rb
@@ -279,6 +323,7 @@ files:
279
323
  - lib/fluent/plugin/out_test.rb
280
324
  - lib/fluent/plugin/socket_util.rb
281
325
  - lib/fluent/process.rb
326
+ - lib/fluent/registry.rb
282
327
  - lib/fluent/status.rb
283
328
  - lib/fluent/supervisor.rb
284
329
  - lib/fluent/test.rb
@@ -286,37 +331,46 @@ files:
286
331
  - lib/fluent/test/input_test.rb
287
332
  - lib/fluent/test/output_test.rb
288
333
  - lib/fluent/version.rb
289
- - test/config.rb
290
- - test/configdsl.rb
334
+ - spec/config/config_parser_spec.rb
335
+ - spec/config/configurable_spec.rb
336
+ - spec/config/configure_proxy_spec.rb
337
+ - spec/config/dsl_spec.rb
338
+ - spec/config/helper.rb
339
+ - spec/config/literal_parser_spec.rb
340
+ - spec/config/section_spec.rb
341
+ - spec/spec_helper.rb
291
342
  - test/helper.rb
292
- - test/match.rb
293
- - test/mixin.rb
294
- - test/output.rb
295
- - test/parser.rb
296
343
  - test/plugin/data/2010/01/20100102-030405.log
297
344
  - test/plugin/data/2010/01/20100102-030406.log
298
345
  - test/plugin/data/2010/01/20100102.log
299
346
  - test/plugin/data/log/bar
300
347
  - test/plugin/data/log/foo/bar.log
301
348
  - test/plugin/data/log/test.log
302
- - test/plugin/in_exec.rb
303
- - test/plugin/in_forward.rb
304
- - test/plugin/in_gc_stat.rb
305
- - test/plugin/in_http.rb
306
- - test/plugin/in_object_space.rb
307
- - test/plugin/in_status.rb
308
- - test/plugin/in_stream.rb
309
- - test/plugin/in_syslog.rb
310
- - test/plugin/in_tail.rb
311
- - test/plugin/out_copy.rb
312
- - test/plugin/out_exec.rb
313
- - test/plugin/out_exec_filter.rb
314
- - test/plugin/out_file.rb
315
- - test/plugin/out_forward.rb
316
- - test/plugin/out_roundrobin.rb
317
- - test/plugin/out_stdout.rb
318
- - test/plugin/out_stream.rb
349
+ - test/plugin/test_in_exec.rb
350
+ - test/plugin/test_in_forward.rb
351
+ - test/plugin/test_in_gc_stat.rb
352
+ - test/plugin/test_in_http.rb
353
+ - test/plugin/test_in_object_space.rb
354
+ - test/plugin/test_in_status.rb
355
+ - test/plugin/test_in_stream.rb
356
+ - test/plugin/test_in_syslog.rb
357
+ - test/plugin/test_in_tail.rb
358
+ - test/plugin/test_out_copy.rb
359
+ - test/plugin/test_out_exec.rb
360
+ - test/plugin/test_out_exec_filter.rb
361
+ - test/plugin/test_out_file.rb
362
+ - test/plugin/test_out_forward.rb
363
+ - test/plugin/test_out_roundrobin.rb
364
+ - test/plugin/test_out_stdout.rb
365
+ - test/plugin/test_out_stream.rb
319
366
  - test/scripts/exec_script.rb
367
+ - test/scripts/fluent/plugin/parser_known.rb
368
+ - test/test_config.rb
369
+ - test/test_configdsl.rb
370
+ - test/test_match.rb
371
+ - test/test_mixin.rb
372
+ - test/test_output.rb
373
+ - test/test_parser.rb
320
374
  homepage: http://fluentd.org/
321
375
  licenses: []
322
376
  metadata: {}
@@ -341,34 +395,43 @@ signing_key:
341
395
  specification_version: 4
342
396
  summary: Fluentd event collector
343
397
  test_files:
344
- - test/config.rb
345
- - test/configdsl.rb
398
+ - spec/config/config_parser_spec.rb
399
+ - spec/config/configurable_spec.rb
400
+ - spec/config/configure_proxy_spec.rb
401
+ - spec/config/dsl_spec.rb
402
+ - spec/config/helper.rb
403
+ - spec/config/literal_parser_spec.rb
404
+ - spec/config/section_spec.rb
405
+ - spec/spec_helper.rb
346
406
  - test/helper.rb
347
- - test/match.rb
348
- - test/mixin.rb
349
- - test/output.rb
350
- - test/parser.rb
351
407
  - test/plugin/data/2010/01/20100102-030405.log
352
408
  - test/plugin/data/2010/01/20100102-030406.log
353
409
  - test/plugin/data/2010/01/20100102.log
354
410
  - test/plugin/data/log/bar
355
411
  - test/plugin/data/log/foo/bar.log
356
412
  - test/plugin/data/log/test.log
357
- - test/plugin/in_exec.rb
358
- - test/plugin/in_forward.rb
359
- - test/plugin/in_gc_stat.rb
360
- - test/plugin/in_http.rb
361
- - test/plugin/in_object_space.rb
362
- - test/plugin/in_status.rb
363
- - test/plugin/in_stream.rb
364
- - test/plugin/in_syslog.rb
365
- - test/plugin/in_tail.rb
366
- - test/plugin/out_copy.rb
367
- - test/plugin/out_exec.rb
368
- - test/plugin/out_exec_filter.rb
369
- - test/plugin/out_file.rb
370
- - test/plugin/out_forward.rb
371
- - test/plugin/out_roundrobin.rb
372
- - test/plugin/out_stdout.rb
373
- - test/plugin/out_stream.rb
413
+ - test/plugin/test_in_exec.rb
414
+ - test/plugin/test_in_forward.rb
415
+ - test/plugin/test_in_gc_stat.rb
416
+ - test/plugin/test_in_http.rb
417
+ - test/plugin/test_in_object_space.rb
418
+ - test/plugin/test_in_status.rb
419
+ - test/plugin/test_in_stream.rb
420
+ - test/plugin/test_in_syslog.rb
421
+ - test/plugin/test_in_tail.rb
422
+ - test/plugin/test_out_copy.rb
423
+ - test/plugin/test_out_exec.rb
424
+ - test/plugin/test_out_exec_filter.rb
425
+ - test/plugin/test_out_file.rb
426
+ - test/plugin/test_out_forward.rb
427
+ - test/plugin/test_out_roundrobin.rb
428
+ - test/plugin/test_out_stdout.rb
429
+ - test/plugin/test_out_stream.rb
374
430
  - test/scripts/exec_script.rb
431
+ - test/scripts/fluent/plugin/parser_known.rb
432
+ - test/test_config.rb
433
+ - test/test_configdsl.rb
434
+ - test/test_match.rb
435
+ - test/test_mixin.rb
436
+ - test/test_output.rb
437
+ - test/test_parser.rb