fluentd 1.9.3 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/issue-auto-closer.yml +12 -0
  3. data/CHANGELOG.md +48 -0
  4. data/lib/fluent/msgpack_factory.rb +13 -6
  5. data/lib/fluent/plugin/buffer.rb +2 -2
  6. data/lib/fluent/plugin/in_dummy.rb +1 -1
  7. data/lib/fluent/plugin/in_tail.rb +35 -26
  8. data/lib/fluent/plugin/out_forward.rb +4 -6
  9. data/lib/fluent/plugin/out_forward/handshake_protocol.rb +4 -0
  10. data/lib/fluent/plugin/parser_syslog.rb +114 -34
  11. data/lib/fluent/plugin/sd_file.rb +1 -0
  12. data/lib/fluent/plugin/sd_srv.rb +135 -0
  13. data/lib/fluent/plugin_helper/cert_option.rb +15 -2
  14. data/lib/fluent/plugin_helper/server.rb +3 -1
  15. data/lib/fluent/plugin_helper/socket_option.rb +19 -1
  16. data/lib/fluent/version.rb +1 -1
  17. data/test/command/test_fluentd.rb +14 -2
  18. data/test/helper.rb +2 -2
  19. data/test/plugin/in_tail/test_fifo.rb +121 -0
  20. data/test/plugin/in_tail/test_io_handler.rb +132 -0
  21. data/test/plugin/in_tail/test_position_file.rb +1 -1
  22. data/test/plugin/out_forward/test_handshake_protocol.rb +10 -1
  23. data/test/plugin/test_buf_file.rb +3 -1
  24. data/test/plugin/test_buffer.rb +20 -0
  25. data/test/plugin/test_compressable.rb +7 -4
  26. data/test/plugin/test_in_dummy.rb +12 -14
  27. data/test/plugin/test_in_forward.rb +2 -2
  28. data/test/plugin/test_in_tail.rb +6 -6
  29. data/test/plugin/test_out_forward.rb +28 -1
  30. data/test/plugin/test_output_as_buffered_secondary.rb +1 -1
  31. data/test/plugin/test_parser_syslog.rb +46 -34
  32. data/test/plugin/test_sd_file.rb +17 -0
  33. data/test/plugin/test_sd_srv.rb +230 -0
  34. data/test/plugin_helper/data/cert/cert-with-CRLF.pem +19 -0
  35. data/test/plugin_helper/test_cert_option.rb +2 -0
  36. data/test/plugin_helper/test_child_process.rb +5 -3
  37. data/test/test_msgpack_factory.rb +18 -0
  38. metadata +14 -2
@@ -149,6 +149,23 @@ class FileServiceDiscoveryTest < ::Test::Unit::TestCase
149
149
  assert_empty queue
150
150
  end
151
151
 
152
+ test 'Skip if error is occured' do
153
+ @sd_file.extend(TestStatEventHelperWrapper)
154
+
155
+ create_tmp_config('config.json', JSON.generate([{ port: 1233, host: '127.0.0.1' }]))
156
+ @sd_file.configure(config_element('service_discovery', '', { 'path' => File.join(@dir, 'config.yml') }))
157
+ queue = []
158
+
159
+ FileUtils.rm_r(File.join(@dir, 'tmp', 'config.json'))
160
+ mock.proxy(@sd_file).refresh_file(queue).twice
161
+
162
+ @sd_file.start(queue)
163
+ assert_empty queue
164
+
165
+ @sd_file.resume
166
+ assert_empty queue
167
+ end
168
+
152
169
  test 'if service is updated, service_in and service_out event happen' do
153
170
  @sd_file.extend(TestStatEventHelperWrapper)
154
171
 
@@ -0,0 +1,230 @@
1
+ require_relative '../helper'
2
+ require 'fluent/plugin/sd_srv'
3
+ require 'fileutils'
4
+ require 'flexmock/test_unit'
5
+ require 'json'
6
+
7
+ class SrvServiceDiscoveryTest < ::Test::Unit::TestCase
8
+ SRV_RECORD1 = Resolv::DNS::Resource::IN::SRV.new(1, 10, 8081, 'service1.example.com')
9
+ SRV_RECORD2 = Resolv::DNS::Resource::IN::SRV.new(2, 20, 8082, 'service2.example.com')
10
+
11
+ sub_test_case 'configure' do
12
+ test 'set services ordered by priority' do
13
+ sdf = Fluent::Plugin::SrvServiceDiscovery.new
14
+ mock(Resolv::DNS).new { flexmock('dns_resolver', getresources: [SRV_RECORD2, SRV_RECORD1], getaddress: '127.0.0.1') }
15
+
16
+ sdf.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com' }))
17
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8081, 'service1.example.com', 10, false, '', '', nil), sdf.services[0]
18
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8082, 'service2.example.com', 20, false, '', '', nil), sdf.services[1]
19
+ end
20
+
21
+ test 'reuturn host name without revolving name when dns_lookup is flase' do
22
+ sdf = Fluent::Plugin::SrvServiceDiscovery.new
23
+ mock(Resolv::DNS).new { flexmock('dns_resolver', getresources: [SRV_RECORD1, SRV_RECORD2], getaddress: '127.0.0.1') }
24
+
25
+ sdf.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com', 'dns_lookup' => false }))
26
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, 'service1.example.com', 8081, 'service1.example.com', 10, false, '', '', nil), sdf.services[0]
27
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, 'service2.example.com', 8082, 'service2.example.com', 20, false, '', '', nil), sdf.services[1]
28
+ end
29
+
30
+ test 'pass a value as :nameserver to Resolve::DNS when dns_server_host is given' do
31
+ sdf = Fluent::Plugin::SrvServiceDiscovery.new
32
+ mock(Resolv::DNS).new(nameserver: '8.8.8.8') { flexmock('dns_resolver', getresources: [SRV_RECORD1, SRV_RECORD2], getaddress: '127.0.0.1') }
33
+
34
+ sdf.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com', 'dns_server_host' => '8.8.8.8' }))
35
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8081, 'service1.example.com', 10, false, '', '', nil), sdf.services[0]
36
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8082, 'service2.example.com', 20, false, '', '', nil), sdf.services[1]
37
+ end
38
+
39
+ test 'pass a value as :nameserver_port to Resolve::DNS when dns_server_host has port' do
40
+ sdf = Fluent::Plugin::SrvServiceDiscovery.new
41
+ mock(Resolv::DNS).new(nameserver_port: [['8.8.8.8', 8080]]) { flexmock('dns_resolver', getresources: [SRV_RECORD1, SRV_RECORD2], getaddress: '127.0.0.1') }
42
+
43
+ sdf.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com', 'dns_server_host' => '8.8.8.8:8080' }))
44
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8081, 'service1.example.com', 10, false, '', '', nil), sdf.services[0]
45
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8082, 'service2.example.com', 20, false, '', '', nil), sdf.services[1]
46
+ end
47
+
48
+ test 'target follows RFC2782' do
49
+ sdf = Fluent::Plugin::SrvServiceDiscovery.new
50
+ mock = flexmock('dns_resolver', getaddress: '127.0.0.1')
51
+ .should_receive(:getresources).with("_service1._tcp.example.com", Resolv::DNS::Resource::IN::SRV)
52
+ .and_return([SRV_RECORD1, SRV_RECORD2])
53
+ .mock
54
+
55
+ mock(Resolv::DNS).new { mock }
56
+ sdf.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com' }))
57
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8081, 'service1.example.com', 10, false, '', '', nil), sdf.services[0]
58
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8082, 'service2.example.com', 20, false, '', '', nil), sdf.services[1]
59
+ end
60
+
61
+ test 'can change protocol' do
62
+ sdf = Fluent::Plugin::SrvServiceDiscovery.new
63
+ mock = flexmock('dns_resolver', getaddress: '127.0.0.1')
64
+ .should_receive(:getresources).with("_service1._udp.example.com", Resolv::DNS::Resource::IN::SRV)
65
+ .and_return([SRV_RECORD1, SRV_RECORD2])
66
+ .mock
67
+
68
+ mock(Resolv::DNS).new { mock }
69
+ sdf.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com', 'proto' => 'udp' }))
70
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8081, 'service1.example.com', 10, false, '', '', nil), sdf.services[0]
71
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8082, 'service2.example.com', 20, false, '', '', nil), sdf.services[1]
72
+ end
73
+
74
+ test 'can set password, username, password' do
75
+ sdf = Fluent::Plugin::SrvServiceDiscovery.new
76
+ mock(Resolv::DNS).new { flexmock('dns_resolver', getresources: [SRV_RECORD2, SRV_RECORD1], getaddress: '127.0.0.1') }
77
+
78
+ sdf.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com', 'shared_key' => 'key', 'username' => 'user', 'password' => 'pass' }))
79
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8081, 'service1.example.com', 10, false, 'user', 'pass', 'key'), sdf.services[0]
80
+ assert_equal Fluent::Plugin::ServiceDiscovery::Service.new(:srv, '127.0.0.1', 8082, 'service2.example.com', 20, false, 'user', 'pass', 'key'), sdf.services[1]
81
+ end
82
+ end
83
+
84
+ sub_test_case '#start' do
85
+ module TestTimerEventHelperWrapper
86
+ # easy to control statsevent
87
+ def timer_execute(_name, _interval, &block)
88
+ @test_timer_event_helper_wrapper_context = Fiber.new do
89
+ loop do
90
+ block.call
91
+
92
+ if Fiber.yield == :finish
93
+ break
94
+ end
95
+ end
96
+ end
97
+
98
+ resume
99
+ end
100
+
101
+ def resume
102
+ @test_timer_event_helper_wrapper_context.resume(:resume)
103
+ end
104
+
105
+ def shutdown
106
+ super
107
+
108
+ if @test_timer_event_helper_wrapper_context
109
+ @test_timer_event_helper_wrapper_context.resume(:finish)
110
+ end
111
+
112
+ end
113
+ end
114
+
115
+ setup do
116
+ sds = Fluent::Plugin::SrvServiceDiscovery.new
117
+ @sd_srv = sds
118
+ end
119
+
120
+ teardown do
121
+ if @sd_srv
122
+ @sd_srv.stop unless @sd_srv.stopped?
123
+ @sd_srv.before_shutdown unless @sd_srv.before_shutdown?
124
+ @sd_srv.shutdown unless @sd_srv.shutdown?
125
+ @sd_srv.after_shutdown unless @sd_srv.after_shutdown?
126
+ @sd_srv.close unless @sd_srv.closed?
127
+ @sd_srv.terminate unless @sd_srv.terminated?
128
+ end
129
+ end
130
+
131
+ test 'Skip if srv record is not updated' do
132
+ @sd_srv.extend(TestTimerEventHelperWrapper)
133
+ mock(Resolv::DNS).new { flexmock('dns_resolver', getresources: [SRV_RECORD2, SRV_RECORD1], getaddress: '127.0.0.1') }
134
+ @sd_srv.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com' }))
135
+ queue = []
136
+
137
+ @sd_srv.start(queue)
138
+ assert_empty queue
139
+
140
+ @sd_srv.resume
141
+ assert_empty queue
142
+ end
143
+
144
+ test 'Skip if DNS resolver raise an error' do
145
+ @sd_srv.extend(TestTimerEventHelperWrapper)
146
+ mock = flexmock('dns_resolver', getaddress: '127.0.0.1')
147
+ .should_receive(:getresources)
148
+ .and_return([SRV_RECORD1, SRV_RECORD2])
149
+ .and_return { raise 'some error' } # for start
150
+ .and_return { raise 'some error' } # for resume
151
+ .mock
152
+
153
+ mock(Resolv::DNS).new { mock }
154
+ @sd_srv.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com' }))
155
+ queue = []
156
+
157
+ @sd_srv.start(queue)
158
+ assert_empty queue
159
+
160
+ @sd_srv.resume
161
+ assert_empty queue
162
+ end
163
+
164
+ test 'if service is updated, service_in and service_out event happen' do
165
+ @sd_srv.extend(TestTimerEventHelperWrapper)
166
+ mock = flexmock('dns_resolver', getaddress: '127.0.0.1')
167
+ .should_receive(:getresources)
168
+ .and_return([SRV_RECORD1])
169
+ .and_return([SRV_RECORD2])
170
+ .mock
171
+
172
+ mock(Resolv::DNS).new { mock }
173
+ @sd_srv.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com', 'dns_lookup' => false }))
174
+ queue = []
175
+
176
+ @sd_srv.start(queue)
177
+ join = queue.shift
178
+ drain = queue.shift
179
+ assert_equal Fluent::Plugin::ServiceDiscovery::SERVICE_IN, join.type
180
+ assert_equal 8082, join.service.port
181
+ assert_equal 'service2.example.com', join.service.host
182
+
183
+ assert_equal Fluent::Plugin::ServiceDiscovery::SERVICE_OUT, drain.type
184
+ assert_equal 8081, drain.service.port
185
+ assert_equal 'service1.example.com', drain.service.host
186
+ end
187
+
188
+ test 'if service is deleted, service_out event happens' do
189
+ @sd_srv.extend(TestTimerEventHelperWrapper)
190
+ mock = flexmock('dns_resolver', getaddress: '127.0.0.1')
191
+ .should_receive(:getresources)
192
+ .and_return([SRV_RECORD1, SRV_RECORD2])
193
+ .and_return([SRV_RECORD2])
194
+ .mock
195
+
196
+ mock(Resolv::DNS).new { mock }
197
+ @sd_srv.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com', 'dns_lookup' => false }))
198
+ queue = []
199
+
200
+ @sd_srv.start(queue)
201
+
202
+ assert_equal 1, queue.size
203
+ drain = queue.shift
204
+ assert_equal Fluent::Plugin::ServiceDiscovery::SERVICE_OUT, drain.type
205
+ assert_equal 8081, drain.service.port
206
+ assert_equal 'service1.example.com', drain.service.host
207
+ end
208
+
209
+ test 'if new service is added, service_in event happens' do
210
+ @sd_srv.extend(TestTimerEventHelperWrapper)
211
+ mock = flexmock('dns_resolver', getaddress: '127.0.0.1')
212
+ .should_receive(:getresources)
213
+ .and_return([SRV_RECORD2])
214
+ .and_return([SRV_RECORD1, SRV_RECORD2])
215
+ .mock
216
+
217
+ mock(Resolv::DNS).new { mock }
218
+ @sd_srv.configure(config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com', 'dns_lookup' => false }))
219
+ queue = []
220
+
221
+ @sd_srv.start(queue)
222
+
223
+ assert_equal 1, queue.size
224
+ join = queue.shift
225
+ assert_equal Fluent::Plugin::ServiceDiscovery::SERVICE_IN, join.type
226
+ assert_equal 8081, join.service.port
227
+ assert_equal 'service1.example.com', join.service.host
228
+ end
229
+ end
230
+ end
@@ -0,0 +1,19 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDLDCCAhSgAwIBAgIIEJHFsHrKBGYwDQYJKoZIhvcNAQELBQAwJjEQMA4GA1UE
3
+ ChMHRmx1ZW50ZDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTE5MDYxOTA1MTM0NVoX
4
+ DTE5MDkxODExMTg0NVowJjEQMA4GA1UEChMHRmx1ZW50ZDESMBAGA1UEAxMJbG9j
5
+ YWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArbUTk5n5RruI
6
+ QGhK1T8g/emKonlfWNMSj/J/f/U9NJ14ugIxyHBMqx4WaTyA4zjT2VJO5tRBe385
7
+ zlIUf8i+x7Ovt/MgsjiwXyKv7qdsE5KHLq+VXJfA+s5vAAyzBHY/BA7xxh/QqCI8
8
+ a/a1OyHyaQ9pFRFXtQBlTH7Fc1qSw5Yg0EXofa6YIBQuDjfqa7FRPj+bEWDO5PUq
9
+ OMzH5XKBUPS9GLHOqia0CnzF2a51TArC0Dl1oNFa7myVmjBuNtkG88Fkd7YNzGa+
10
+ sNBJPmuGvFXuU3XPEnrtARO/SG4g9/MQUvfMI3jFFOJAMmEKd8QXxO5FgIuEnaNO
11
+ hVRVH/e9wwIDAQABo14wXDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB
12
+ BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFPLdOVnVWuuB
13
+ 7Pnvpgte4BHitzFYMA0GCSqGSIb3DQEBCwUAA4IBAQBp8LAzjWIJapwTBnnivwZk
14
+ D6Lr028mZIacbBZKsmmPi0VvDFqCvUAbHN8ytPlRBWnvvkihDkZs1TwcDCXGsWYs
15
+ dNNwsYGpk3mQxsHQ9atvy0mQGLDlfaSs/329bfVCw1cPFo9n+MeivSBoE6asdIbH
16
+ tOW3kk1XtJZ2qQJJRvexFImZc0z8c2cG0+eR5hQxQd9bLnAczi/8mZ8VzaU/O3UU
17
+ OJoVuyp0AA8f2f0f1QDaeH9stWZtJQj3ZX1DWHRE3OmVkoBdlt8EHYGggtvQaLIF
18
+ XbHigLHzYztMjmDt4fmRczu/Fu6M4xNro8jLgjiIjqlLBjDZiKrSbOwgyebwFDlv
19
+ -----END CERTIFICATE-----
@@ -12,5 +12,7 @@ class CertOptionPluginHelperTest < Test::Unit::TestCase
12
12
  assert_equal(1, certs.length)
13
13
  certs = d.cert_option_certificates_from_file("test/plugin_helper/data/cert/cert-with-no-newline.pem")
14
14
  assert_equal(1, certs.length)
15
+ certs = d.cert_option_certificates_from_file("test/plugin_helper/data/cert/cert-with-CRLF.pem")
16
+ assert_equal(1, certs.length)
15
17
  end
16
18
  end
@@ -286,9 +286,11 @@ class ChildProcessTest < Test::Unit::TestCase
286
286
  assert_equal [], @d.log.out.logs
287
287
 
288
288
  @d.stop # nothing occurs
289
- sleep TEST_WAIT_INTERVAL_FOR_LOOP
290
- lines1 = ary.size
291
- assert{ lines1 > 1 }
289
+ lines1 = nil
290
+ waiting(TEST_WAIT_INTERVAL_FOR_LOOP * 3) do
291
+ lines1 = ary.size
292
+ lines1 > 1
293
+ end
292
294
 
293
295
  pid = @d._child_process_processes.keys.first
294
296
  # default value 10 is too long for test
@@ -0,0 +1,18 @@
1
+ require_relative 'helper'
2
+ require 'fluent/msgpack_factory'
3
+
4
+ class MessagePackFactoryTest < Test::Unit::TestCase
5
+ test 'call log.warn only once' do
6
+ klass = Class.new do
7
+ include Fluent::MessagePackFactory::Mixin
8
+ end
9
+
10
+ mp = klass.new
11
+
12
+ mock.proxy($log).warn(anything).once
13
+
14
+ assert mp.msgpack_factory
15
+ assert mp.msgpack_factory
16
+ assert mp.msgpack_factory
17
+ end
18
+ 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: 1.9.3
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-05 00:00:00.000000000 Z
11
+ date: 2020-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -359,6 +359,7 @@ files:
359
359
  - ".github/ISSUE_TEMPLATE/bug_report.md"
360
360
  - ".github/ISSUE_TEMPLATE/feature_request.md"
361
361
  - ".github/PULL_REQUEST_TEMPLATE.md"
362
+ - ".github/workflows/issue-auto-closer.yml"
362
363
  - ".gitignore"
363
364
  - ".gitlab-ci.yml"
364
365
  - ".travis.yml"
@@ -576,6 +577,7 @@ files:
576
577
  - lib/fluent/plugin/parser_syslog.rb
577
578
  - lib/fluent/plugin/parser_tsv.rb
578
579
  - lib/fluent/plugin/sd_file.rb
580
+ - lib/fluent/plugin/sd_srv.rb
579
581
  - lib/fluent/plugin/sd_static.rb
580
582
  - lib/fluent/plugin/service_discovery.rb
581
583
  - lib/fluent/plugin/socket_util.rb
@@ -707,6 +709,8 @@ files:
707
709
  - test/plugin/data/sd_file/config.yaml
708
710
  - test/plugin/data/sd_file/config.yml
709
711
  - test/plugin/data/sd_file/invalid_config.yml
712
+ - test/plugin/in_tail/test_fifo.rb
713
+ - test/plugin/in_tail/test_io_handler.rb
710
714
  - test/plugin/in_tail/test_position_file.rb
711
715
  - test/plugin/out_forward/test_ack_handler.rb
712
716
  - test/plugin/out_forward/test_connection_manager.rb
@@ -789,10 +793,12 @@ files:
789
793
  - test/plugin/test_parser_syslog.rb
790
794
  - test/plugin/test_parser_tsv.rb
791
795
  - test/plugin/test_sd_file.rb
796
+ - test/plugin/test_sd_srv.rb
792
797
  - test/plugin/test_storage.rb
793
798
  - test/plugin/test_storage_local.rb
794
799
  - test/plugin/test_string_util.rb
795
800
  - test/plugin_helper/data/cert/cert-key.pem
801
+ - test/plugin_helper/data/cert/cert-with-CRLF.pem
796
802
  - test/plugin_helper/data/cert/cert-with-no-newline.pem
797
803
  - test/plugin_helper/data/cert/cert.pem
798
804
  - test/plugin_helper/data/cert/generate_cert.rb
@@ -851,6 +857,7 @@ files:
851
857
  - test/test_logger_initializer.rb
852
858
  - test/test_match.rb
853
859
  - test/test_mixin.rb
860
+ - test/test_msgpack_factory.rb
854
861
  - test/test_output.rb
855
862
  - test/test_plugin.rb
856
863
  - test/test_plugin_classes.rb
@@ -929,6 +936,8 @@ test_files:
929
936
  - test/plugin/data/sd_file/config.yaml
930
937
  - test/plugin/data/sd_file/config.yml
931
938
  - test/plugin/data/sd_file/invalid_config.yml
939
+ - test/plugin/in_tail/test_fifo.rb
940
+ - test/plugin/in_tail/test_io_handler.rb
932
941
  - test/plugin/in_tail/test_position_file.rb
933
942
  - test/plugin/out_forward/test_ack_handler.rb
934
943
  - test/plugin/out_forward/test_connection_manager.rb
@@ -1011,10 +1020,12 @@ test_files:
1011
1020
  - test/plugin/test_parser_syslog.rb
1012
1021
  - test/plugin/test_parser_tsv.rb
1013
1022
  - test/plugin/test_sd_file.rb
1023
+ - test/plugin/test_sd_srv.rb
1014
1024
  - test/plugin/test_storage.rb
1015
1025
  - test/plugin/test_storage_local.rb
1016
1026
  - test/plugin/test_string_util.rb
1017
1027
  - test/plugin_helper/data/cert/cert-key.pem
1028
+ - test/plugin_helper/data/cert/cert-with-CRLF.pem
1018
1029
  - test/plugin_helper/data/cert/cert-with-no-newline.pem
1019
1030
  - test/plugin_helper/data/cert/cert.pem
1020
1031
  - test/plugin_helper/data/cert/generate_cert.rb
@@ -1073,6 +1084,7 @@ test_files:
1073
1084
  - test/test_logger_initializer.rb
1074
1085
  - test/test_match.rb
1075
1086
  - test/test_mixin.rb
1087
+ - test/test_msgpack_factory.rb
1076
1088
  - test/test_output.rb
1077
1089
  - test/test_plugin.rb
1078
1090
  - test/test_plugin_classes.rb