fluentd 1.16.6-x64-mingw-ucrt → 1.16.8-x64-mingw-ucrt

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +5 -0
  3. data/CHANGELOG.md +60 -0
  4. data/README.md +0 -2
  5. data/fluentd.gemspec +6 -0
  6. data/lib/fluent/compat/formatter.rb +6 -0
  7. data/lib/fluent/config/parser.rb +15 -3
  8. data/lib/fluent/config/v1_parser.rb +1 -1
  9. data/lib/fluent/plugin/formatter_csv.rb +18 -4
  10. data/lib/fluent/plugin/in_http.rb +1 -1
  11. data/lib/fluent/plugin/in_tail.rb +1 -1
  12. data/lib/fluent/supervisor.rb +3 -3
  13. data/lib/fluent/version.rb +1 -1
  14. data/lib/fluent/winsvc.rb +38 -8
  15. data/test/command/test_cat.rb +2 -2
  16. data/test/command/test_fluentd.rb +1 -1
  17. data/test/config/test_plugin_configuration.rb +6 -6
  18. data/test/helper.rb +27 -7
  19. data/test/plugin/out_forward/test_ack_handler.rb +3 -3
  20. data/test/plugin/out_forward/test_socket_cache.rb +3 -3
  21. data/test/plugin/test_buffer.rb +2 -2
  22. data/test/plugin/test_filter_grep.rb +1 -1
  23. data/test/plugin/test_in_forward.rb +2 -1
  24. data/test/plugin/test_in_http.rb +2 -2
  25. data/test/plugin/test_in_monitor_agent.rb +6 -6
  26. data/test/plugin/test_in_syslog.rb +25 -18
  27. data/test/plugin/test_in_tail.rb +5 -12
  28. data/test/plugin/test_in_tcp.rb +1 -1
  29. data/test/plugin/test_in_udp.rb +16 -10
  30. data/test/plugin/test_out_exec_filter.rb +12 -7
  31. data/test/plugin/test_out_file.rb +1 -1
  32. data/test/plugin/test_out_forward.rb +2 -3
  33. data/test/plugin/test_out_stream.rb +1 -1
  34. data/test/plugin/test_output.rb +1 -1
  35. data/test/plugin/test_output_as_buffered.rb +2 -2
  36. data/test/plugin/test_output_as_buffered_retries.rb +2 -2
  37. data/test/plugin/test_parser_csv.rb +1 -1
  38. data/test/plugin_helper/test_http_server_helper.rb +1 -1
  39. data/test/plugin_helper/test_server.rb +64 -41
  40. data/test/plugin_helper/test_socket.rb +1 -1
  41. data/test/test_event_router.rb +2 -2
  42. data/test/test_supervisor.rb +30 -21
  43. data/test/test_tls.rb +1 -1
  44. metadata +33 -5
@@ -15,7 +15,7 @@ class ServerPluginHelperTest < Test::Unit::TestCase
15
15
  TMP_DIR = File.expand_path(File.dirname(__FILE__) + "/../tmp/plugin_helper_server")
16
16
 
17
17
  setup do
18
- @port = unused_port
18
+ @port = unused_port(protocol: :tcp)
19
19
  if Fluent.windows?
20
20
  @socket_manager_server = ServerEngine::SocketManager::Server.open
21
21
  @socket_manager_path = @socket_manager_server.path
@@ -233,11 +233,12 @@ class ServerPluginHelperTest < Test::Unit::TestCase
233
233
  # 'server_create_connection tcp' => [:server_create_connection, :unix],
234
234
  )
235
235
  test 'raise error if udp options specified for tcp/tls/unix' do |(m, proto)|
236
+ port = unused_port(protocol: proto)
236
237
  assert_raise ArgumentError do
237
- @d.__send__(m, :myserver, @port, proto: proto, max_bytes: 128){|x| x }
238
+ @d.__send__(m, :myserver, port, proto: proto, max_bytes: 128){|x| x }
238
239
  end
239
240
  assert_raise ArgumentError do
240
- @d.__send__(m, :myserver, @port, proto: proto, flags: 1){|x| x }
241
+ @d.__send__(m, :myserver, port, proto: proto, flags: 1){|x| x }
241
242
  end
242
243
  end
243
244
 
@@ -245,8 +246,9 @@ class ServerPluginHelperTest < Test::Unit::TestCase
245
246
  'server_create udp' => [:server_create, :udp],
246
247
  )
247
248
  test 'raise error if tcp/tls options specified for udp' do |(m, proto)|
249
+ port = unused_port(protocol: proto)
248
250
  assert_raise(ArgumentError.new("BUG: linger_timeout is available for tcp/tls")) do
249
- @d.__send__(m, :myserver, @port, proto: proto, linger_timeout: 1, max_bytes: 128){|x| x }
251
+ @d.__send__(m, :myserver, port, proto: proto, linger_timeout: 1, max_bytes: 128){|x| x }
250
252
  end
251
253
  end
252
254
 
@@ -254,8 +256,9 @@ class ServerPluginHelperTest < Test::Unit::TestCase
254
256
  'server_create udp' => [:server_create, :udp],
255
257
  )
256
258
  test 'raise error if tcp/tls/unix backlog options specified for udp' do |(m, proto)|
259
+ port = unused_port(protocol: proto)
257
260
  assert_raise(ArgumentError.new("BUG: backlog is available for tcp/tls")) do
258
- @d.__send__(m, :myserver, @port, proto: proto, backlog: 500){|x| x }
261
+ @d.__send__(m, :myserver, port, proto: proto, backlog: 500){|x| x }
259
262
  end
260
263
  end
261
264
 
@@ -263,8 +266,9 @@ class ServerPluginHelperTest < Test::Unit::TestCase
263
266
  'server_create udp' => [:server_create, :udp],
264
267
  )
265
268
  test 'raise error if tcp/tls send_keepalive_packet option is specified for udp' do |(m, proto)|
269
+ port = unused_port(protocol: proto)
266
270
  assert_raise(ArgumentError.new("BUG: send_keepalive_packet is available for tcp/tls")) do
267
- @d.__send__(m, :myserver, @port, proto: proto, send_keepalive_packet: true){|x| x }
271
+ @d.__send__(m, :myserver, port, proto: proto, send_keepalive_packet: true){|x| x }
268
272
  end
269
273
  end
270
274
 
@@ -276,8 +280,9 @@ class ServerPluginHelperTest < Test::Unit::TestCase
276
280
  # 'server_create_connection unix' => [:server_create_connection, :unix, {}],
277
281
  )
278
282
  test 'raise error if tls options specified for tcp/udp/unix' do |(m, proto, kwargs)|
283
+ port = unused_port(protocol: proto)
279
284
  assert_raise(ArgumentError.new("BUG: tls_options is available only for tls")) do
280
- @d.__send__(m, :myserver, @port, proto: proto, tls_options: {}, **kwargs){|x| x }
285
+ @d.__send__(m, :myserver, port, proto: proto, tls_options: {}, **kwargs){|x| x }
281
286
  end
282
287
  end
283
288
 
@@ -289,7 +294,8 @@ class ServerPluginHelperTest < Test::Unit::TestCase
289
294
  'server_create_connection tls' => [:server_create_connection, :tls, {tls_options: {insecure: true}}],
290
295
  )
291
296
  test 'can bind specified IPv4 address' do |(m, proto, kwargs)|
292
- @d.__send__(m, :myserver, @port, proto: proto, bind: "127.0.0.1", **kwargs){|x| x }
297
+ port = unused_port(protocol: proto)
298
+ @d.__send__(m, :myserver, port, proto: proto, bind: "127.0.0.1", **kwargs){|x| x }
293
299
  assert_equal "127.0.0.1", @d._servers.first.bind
294
300
  assert_equal "127.0.0.1", @d._servers.first.server.instance_eval{ instance_variable_defined?(:@listen_socket) ? @listen_socket : @_io }.addr[3]
295
301
  end
@@ -303,7 +309,8 @@ class ServerPluginHelperTest < Test::Unit::TestCase
303
309
  )
304
310
  test 'can bind specified IPv6 address' do |(m, proto, kwargs)| # if available
305
311
  omit "IPv6 unavailable here" unless ipv6_enabled?
306
- @d.__send__(m, :myserver, @port, proto: proto, bind: "::1", **kwargs){|x| x }
312
+ port = unused_port(protocol: proto)
313
+ @d.__send__(m, :myserver, port, proto: proto, bind: "::1", **kwargs){|x| x }
307
314
  assert_equal "::1", @d._servers.first.bind
308
315
  assert_equal "::1", @d._servers.first.server.instance_eval{ instance_variable_defined?(:@listen_socket) ? @listen_socket : @_io }.addr[3]
309
316
  end
@@ -320,10 +327,11 @@ class ServerPluginHelperTest < Test::Unit::TestCase
320
327
  test 'can create 2 or more servers which share same bind address and port if shared option is true' do |(m, proto, kwargs)|
321
328
  begin
322
329
  d2 = Dummy.new; d2.start; d2.after_start
330
+ port = unused_port(protocol: proto)
323
331
 
324
332
  assert_nothing_raised do
325
- @d.__send__(m, :myserver, @port, proto: proto, **kwargs){|x| x }
326
- d2.__send__(m, :myserver, @port, proto: proto, **kwargs){|x| x }
333
+ @d.__send__(m, :myserver, port, proto: proto, **kwargs){|x| x }
334
+ d2.__send__(m, :myserver, port, proto: proto, **kwargs){|x| x }
327
335
  end
328
336
  ensure
329
337
  d2.stop; d2.before_shutdown; d2.shutdown; d2.after_shutdown; d2.close; d2.terminate
@@ -344,12 +352,13 @@ class ServerPluginHelperTest < Test::Unit::TestCase
344
352
  test 'cannot create 2 or more servers using same bind address and port if shared option is false' do |(m, proto, kwargs)|
345
353
  begin
346
354
  d2 = Dummy.new; d2.start; d2.after_start
355
+ port = unused_port(protocol: proto)
347
356
 
348
357
  assert_nothing_raised do
349
- @d.__send__(m, :myserver, @port, proto: proto, shared: false, **kwargs){|x| x }
358
+ @d.__send__(m, :myserver, port, proto: proto, shared: false, **kwargs){|x| x }
350
359
  end
351
360
  assert_raise(Errno::EADDRINUSE, Errno::EACCES) do
352
- d2.__send__(m, :myserver, @port, proto: proto, **kwargs){|x| x }
361
+ d2.__send__(m, :myserver, port, proto: proto, **kwargs){|x| x }
353
362
  end
354
363
  ensure
355
364
  d2.stop; d2.before_shutdown; d2.shutdown; d2.after_shutdown; d2.close; d2.terminate
@@ -365,16 +374,18 @@ class ServerPluginHelperTest < Test::Unit::TestCase
365
374
  # 'unix' => [:unix, {}],
366
375
  )
367
376
  test 'raise error if block argument is not specified or too many' do |(proto, kwargs)|
377
+ port = unused_port(protocol: proto)
368
378
  assert_raise(ArgumentError.new("BUG: block must have 1 or 2 arguments")) do
369
- @d.server_create(:myserver, @port, proto: proto, **kwargs){ 1 }
379
+ @d.server_create(:myserver, port, proto: proto, **kwargs){ 1 }
370
380
  end
371
381
  assert_raise(ArgumentError.new("BUG: block must have 1 or 2 arguments")) do
372
- @d.server_create(:myserver, @port, proto: proto, **kwargs){|sock, conn, what_is_this| 1 }
382
+ @d.server_create(:myserver, port, proto: proto, **kwargs){|sock, conn, what_is_this| 1 }
373
383
  end
374
384
  end
375
385
 
376
386
  test 'creates udp server if specified in proto' do
377
- @d.server_create(:myserver, @port, proto: :udp, max_bytes: 512){|x| x }
387
+ port = unused_port(protocol: :udp)
388
+ @d.server_create(:myserver, port, proto: :udp, max_bytes: 512){|x| x }
378
389
 
379
390
  created_server_info = @d._servers.first
380
391
  assert_equal :udp, created_server_info.proto
@@ -587,7 +598,8 @@ class ServerPluginHelperTest < Test::Unit::TestCase
587
598
  sub_test_case '#server_create_udp' do
588
599
  test 'can accept all keyword arguments valid for udp server' do
589
600
  assert_nothing_raised do
590
- @d.server_create_udp(:s, @port, bind: '127.0.0.1', shared: false, resolve_name: true, max_bytes: 100, flags: 1) do |data, conn|
601
+ port = unused_port(protocol: :udp)
602
+ @d.server_create_udp(:s, port, bind: '127.0.0.1', shared: false, resolve_name: true, max_bytes: 100, flags: 1) do |data, conn|
591
603
  # ...
592
604
  end
593
605
  end
@@ -595,14 +607,15 @@ class ServerPluginHelperTest < Test::Unit::TestCase
595
607
 
596
608
  test 'creates a udp server just to read data' do
597
609
  received = ""
598
- @d.server_create_udp(:s, @port, max_bytes: 128) do |data|
610
+ port = unused_port(protocol: :udp)
611
+ @d.server_create_udp(:s, port, max_bytes: 128) do |data|
599
612
  received << data
600
613
  end
601
614
  bind_port = unused_port(protocol: :udp, bind: "127.0.0.1")
602
615
  3.times do
603
616
  sock = UDPSocket.new(Socket::AF_INET)
604
617
  sock.bind("127.0.0.1", bind_port)
605
- sock.connect("127.0.0.1", @port)
618
+ sock.connect("127.0.0.1", port)
606
619
  sock.puts "yay"
607
620
  sock.puts "foo"
608
621
  sock.close
@@ -614,16 +627,17 @@ class ServerPluginHelperTest < Test::Unit::TestCase
614
627
  test 'creates a udp server to read and write data' do
615
628
  received = ""
616
629
  responses = []
617
- @d.server_create_udp(:s, @port, max_bytes: 128) do |data, sock|
630
+ port = unused_port(protocol: :udp)
631
+ @d.server_create_udp(:s, port, max_bytes: 128) do |data, sock|
618
632
  received << data
619
633
  sock.write "ack\n"
620
634
  end
621
- bind_port = unused_port
635
+ bind_port = unused_port(protocol: :udp)
622
636
  3.times do
623
637
  begin
624
638
  sock = UDPSocket.new(Socket::AF_INET)
625
639
  sock.bind("127.0.0.1", bind_port)
626
- sock.connect("127.0.0.1", @port)
640
+ sock.connect("127.0.0.1", port)
627
641
  th = Thread.new do
628
642
  while true
629
643
  begin
@@ -654,11 +668,12 @@ class ServerPluginHelperTest < Test::Unit::TestCase
654
668
 
655
669
  received = ""
656
670
  responses = []
657
- @d.server_create_udp(:s, @port, bind: "::1", max_bytes: 128) do |data, sock|
671
+ port = unused_port(protocol: :udp, bind: "::1")
672
+ @d.server_create_udp(:s, port, bind: "::1", max_bytes: 128) do |data, sock|
658
673
  received << data
659
674
  sock.write "ack\n"
660
675
  end
661
- bind_port = unused_port
676
+ bind_port = unused_port(protocol: :udp, bind: "::1")
662
677
  3.times do
663
678
  begin
664
679
  sock = UDPSocket.new(Socket::AF_INET6)
@@ -667,7 +682,7 @@ class ServerPluginHelperTest < Test::Unit::TestCase
667
682
  responses << sock.recv(16)
668
683
  true
669
684
  end
670
- sock.connect("::1", @port)
685
+ sock.connect("::1", port)
671
686
  sock.write "yay\nfoo\n"
672
687
  th.join(5)
673
688
  ensure
@@ -682,13 +697,14 @@ class ServerPluginHelperTest < Test::Unit::TestCase
682
697
  test 'does not resolve name of client address in default' do
683
698
  received = ""
684
699
  sources = []
685
- @d.server_create_udp(:s, @port, max_bytes: 128) do |data, sock|
700
+ port = unused_port(protocol: :udp)
701
+ @d.server_create_udp(:s, port, max_bytes: 128) do |data, sock|
686
702
  received << data
687
703
  sources << sock.remote_host
688
704
  end
689
705
  3.times do
690
706
  sock = UDPSocket.new(Socket::AF_INET)
691
- sock.connect("127.0.0.1", @port)
707
+ sock.connect("127.0.0.1", port)
692
708
  sock.puts "yay"
693
709
  sock.close
694
710
  end
@@ -702,13 +718,14 @@ class ServerPluginHelperTest < Test::Unit::TestCase
702
718
 
703
719
  received = ""
704
720
  sources = []
705
- @d.server_create_udp(:s, @port, resolve_name: true, max_bytes: 128) do |data, sock|
721
+ port = unused_port(protocol: :udp)
722
+ @d.server_create_udp(:s, port, resolve_name: true, max_bytes: 128) do |data, sock|
706
723
  received << data
707
724
  sources << sock.remote_host
708
725
  end
709
726
  3.times do
710
727
  sock = UDPSocket.new(Socket::AF_INET)
711
- sock.connect("127.0.0.1", @port)
728
+ sock.connect("127.0.0.1", port)
712
729
  sock.puts "yay"
713
730
  sock.close
714
731
  end
@@ -720,7 +737,8 @@ class ServerPluginHelperTest < Test::Unit::TestCase
720
737
  test 'raises error if plugin registers data callback for connection object from #server_create' do
721
738
  received = ""
722
739
  errors = []
723
- @d.server_create_udp(:s, @port, max_bytes: 128) do |data, sock|
740
+ port = unused_port(protocol: :udp)
741
+ @d.server_create_udp(:s, port, max_bytes: 128) do |data, sock|
724
742
  received << data
725
743
  begin
726
744
  sock.data{|d| received << d.upcase }
@@ -729,7 +747,7 @@ class ServerPluginHelperTest < Test::Unit::TestCase
729
747
  end
730
748
  end
731
749
  sock = UDPSocket.new(Socket::AF_INET)
732
- sock.connect("127.0.0.1", @port)
750
+ sock.connect("127.0.0.1", port)
733
751
  sock.write "foo\n"
734
752
  sock.close
735
753
 
@@ -742,7 +760,8 @@ class ServerPluginHelperTest < Test::Unit::TestCase
742
760
  test 'raise error if plugin registers write_complete callback for udp' do
743
761
  received = ""
744
762
  errors = []
745
- @d.server_create_udp(:s, @port, max_bytes: 128) do |data, sock|
763
+ port = unused_port(protocol: :udp)
764
+ @d.server_create_udp(:s, port, max_bytes: 128) do |data, sock|
746
765
  received << data
747
766
  begin
748
767
  sock.on(:write_complete){|conn| "" }
@@ -751,7 +770,7 @@ class ServerPluginHelperTest < Test::Unit::TestCase
751
770
  end
752
771
  end
753
772
  sock = UDPSocket.new(Socket::AF_INET)
754
- sock.connect("127.0.0.1", @port)
773
+ sock.connect("127.0.0.1", port)
755
774
  sock.write "foo\n"
756
775
  sock.close
757
776
 
@@ -764,7 +783,8 @@ class ServerPluginHelperTest < Test::Unit::TestCase
764
783
  test 'raises error if plugin registers close callback for udp' do
765
784
  received = ""
766
785
  errors = []
767
- @d.server_create_udp(:s, @port, max_bytes: 128) do |data, sock|
786
+ port = unused_port(protocol: :udp)
787
+ @d.server_create_udp(:s, port, max_bytes: 128) do |data, sock|
768
788
  received << data
769
789
  begin
770
790
  sock.on(:close){|d| "" }
@@ -773,7 +793,7 @@ class ServerPluginHelperTest < Test::Unit::TestCase
773
793
  end
774
794
  end
775
795
  sock = UDPSocket.new(Socket::AF_INET)
776
- sock.connect("127.0.0.1", @port)
796
+ sock.connect("127.0.0.1", port)
777
797
  sock.write "foo\n"
778
798
  sock.close
779
799
 
@@ -786,11 +806,12 @@ class ServerPluginHelperTest < Test::Unit::TestCase
786
806
  test 'can bind IPv4 / IPv6 together' do
787
807
  omit "IPv6 unavailable here" unless ipv6_enabled?
788
808
 
809
+ port = unused_port(protocol: :udp)
789
810
  assert_nothing_raised do
790
- @d.server_create_udp(:s_ipv4_udp, @port, bind: '0.0.0.0', shared: false, max_bytes: 128) do |data, sock|
811
+ @d.server_create_udp(:s_ipv4_udp, port, bind: '0.0.0.0', shared: false, max_bytes: 128) do |data, sock|
791
812
  # ...
792
813
  end
793
- @d.server_create_udp(:s_ipv6_udp, @port, bind: '::', shared: false, max_bytes: 128) do |data, sock|
814
+ @d.server_create_udp(:s_ipv6_udp, port, bind: '::', shared: false, max_bytes: 128) do |data, sock|
794
815
  # ...
795
816
  end
796
817
  end
@@ -803,11 +824,12 @@ class ServerPluginHelperTest < Test::Unit::TestCase
803
824
  max_bytes, records, expected = data.values
804
825
 
805
826
  actual_records = []
806
- @d.server_create_udp(:myserver, @port, max_bytes: max_bytes) do |data, sock|
827
+ port = unused_port(protocol: :udp)
828
+ @d.server_create_udp(:myserver, port, max_bytes: max_bytes) do |data, sock|
807
829
  actual_records << data
808
830
  end
809
831
 
810
- open_client(:udp, "127.0.0.1", @port) do |sock|
832
+ open_client(:udp, "127.0.0.1", port) do |sock|
811
833
  records.each do |record|
812
834
  sock.send(record, 0)
813
835
  end
@@ -823,11 +845,12 @@ class ServerPluginHelperTest < Test::Unit::TestCase
823
845
  max_bytes, records, expected = data.values
824
846
 
825
847
  actual_records = []
826
- @d.server_create_udp(:myserver, @port, max_bytes: max_bytes) do |data|
848
+ port = unused_port(protocol: :udp)
849
+ @d.server_create_udp(:myserver, port, max_bytes: max_bytes) do |data|
827
850
  actual_records << data
828
851
  end
829
852
 
830
- open_client(:udp, "127.0.0.1", @port) do |sock|
853
+ open_client(:udp, "127.0.0.1", port) do |sock|
831
854
  records.each do |record|
832
855
  sock.send(record, 0)
833
856
  end
@@ -11,7 +11,7 @@ class SocketHelperTest < Test::Unit::TestCase
11
11
  CERT_CHAINS_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/cert_chains')
12
12
 
13
13
  def setup
14
- @port = unused_port
14
+ @port = unused_port(protocol: :tcp)
15
15
  end
16
16
 
17
17
  def teardown
@@ -175,7 +175,7 @@ class EventRouterTest < ::Test::Unit::TestCase
175
175
  test "don't call default collector when tag matched" do
176
176
  event_router.add_rule('test', output)
177
177
  assert_rr do
178
- dont_allow(default_collector).emit_events('test', is_a(OneEventStream))
178
+ mock(default_collector).emit_events('test', is_a(OneEventStream)).never
179
179
  event_router.emit('test', Engine.now, 'k' => 'v')
180
180
  end
181
181
  # check emit handler doesn't catch rr error
@@ -201,7 +201,7 @@ class EventRouterTest < ::Test::Unit::TestCase
201
201
  event_router.add_rule('test', filter)
202
202
 
203
203
  assert_rr do
204
- dont_allow(filter).filter_stream('test', is_a(OneEventStream)) { events }
204
+ mock(filter).filter_stream('test', is_a(OneEventStream)).never
205
205
  event_router.emit('foo', Engine.now, 'k' => 'v')
206
206
  end
207
207
  end
@@ -214,6 +214,9 @@ class SupervisorTest < ::Test::Unit::TestCase
214
214
  def test_cont_in_main_process_signal_handlers
215
215
  omit "Windows cannot handle signals" if Fluent.windows?
216
216
 
217
+ # https://github.com/fluent/fluentd/issues/4063
218
+ GC.start
219
+
217
220
  sv = Fluent::Supervisor.new({})
218
221
  sv.send(:install_main_process_signal_handlers)
219
222
 
@@ -229,6 +232,9 @@ class SupervisorTest < ::Test::Unit::TestCase
229
232
  def test_term_cont_in_main_process_signal_handlers
230
233
  omit "Windows cannot handle signals" if Fluent.windows?
231
234
 
235
+ # https://github.com/fluent/fluentd/issues/4063
236
+ GC.start
237
+
232
238
  create_debug_dummy_logger
233
239
 
234
240
  sv = Fluent::Supervisor.new({})
@@ -296,6 +302,9 @@ class SupervisorTest < ::Test::Unit::TestCase
296
302
  def test_cont_in_supervisor_signal_handler
297
303
  omit "Windows cannot handle signals" if Fluent.windows?
298
304
 
305
+ # https://github.com/fluent/fluentd/issues/4063
306
+ GC.start
307
+
299
308
  server = DummyServer.new
300
309
  server.install_supervisor_signal_handlers
301
310
 
@@ -311,6 +320,9 @@ class SupervisorTest < ::Test::Unit::TestCase
311
320
  def test_term_cont_in_supervisor_signal_handler
312
321
  omit "Windows cannot handle signals" if Fluent.windows?
313
322
 
323
+ # https://github.com/fluent/fluentd/issues/4063
324
+ GC.start
325
+
314
326
  server = DummyServer.new
315
327
  server.install_supervisor_signal_handlers
316
328
 
@@ -390,34 +402,31 @@ class SupervisorTest < ::Test::Unit::TestCase
390
402
  def test_supervisor_event_dump_windows
391
403
  omit "Only for Windows, alternative to UNIX signals" unless Fluent.windows?
392
404
 
405
+ # https://github.com/fluent/fluentd/issues/4063
406
+ GC.start
407
+
408
+ ENV['SIGDUMP_PATH'] = TMP_DIR + "/sigdump.log"
409
+
393
410
  server = DummyServer.new
394
411
  def server.config
395
412
  {:signame => "TestFluentdEvent"}
396
413
  end
397
414
  server.install_windows_event_handler
398
415
 
399
- assert_rr do
400
- # Have to use mock because `Sigdump.dump` seems to be somehow incompatible with RR.
401
- # The `mock(server).restart(true) { nil }` line in `test_rpc_server_windows` cause the next error.
402
- # Failure: test_supervisor_event_dump_windows(SupervisorTest):
403
- # class()
404
- # Called 0 times.
405
- # Expected 1 times.
406
- # .../Ruby26-x64/lib/ruby/gems/2.6.0/gems/sigdump-0.2.4/lib/sigdump.rb:74:in `block in dump_object_count'
407
- # 73: ObjectSpace.each_object {|o|
408
- # 74: c = o.class <-- HERE!
409
- mock(Sigdump).dump(anything)
410
-
411
- begin
412
- sleep 0.1 # Wait for starting windows event thread
413
- event = Win32::Event.open("TestFluentdEvent_CONT")
414
- event.set
415
- event.close
416
- sleep 1.0 # Wait for dumping
417
- ensure
418
- server.stop_windows_event_thread
419
- end
416
+ begin
417
+ sleep 0.1 # Wait for starting windows event thread
418
+ event = Win32::Event.open("TestFluentdEvent_CONT")
419
+ event.set
420
+ event.close
421
+ sleep 1.0 # Wait for dumping
422
+ ensure
423
+ server.stop_windows_event_thread
420
424
  end
425
+
426
+ result_filepaths = Dir.glob("#{TMP_DIR}/*")
427
+ assert {result_filepaths.length > 0}
428
+ ensure
429
+ ENV.delete('SIGDUMP_PATH')
421
430
  end
422
431
 
423
432
  data(:ipv4 => ["0.0.0.0", "127.0.0.1", false],
data/test/test_tls.rb CHANGED
@@ -9,7 +9,7 @@ class UniqueIdTest < Test::Unit::TestCase
9
9
  TEST_TLS1_2_CASES = {
10
10
  'New TLS v1.2' => :'TLS1_2',
11
11
  'Old TLS v1.2' => :'TLSv1_2'
12
- }
12
+ }
13
13
  TEST_TLS_CASES = TEST_TLS1_1_CASES.merge(TEST_TLS1_2_CASES)
14
14
 
15
15
  sub_test_case 'constants' do
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.16.6
4
+ version: 1.16.8
5
5
  platform: x64-mingw-ucrt
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-20 00:00:00.000000000 Z
11
+ date: 2025-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -214,6 +214,20 @@ dependencies:
214
214
  - - "<"
215
215
  - !ruby/object:Gem::Version
216
216
  version: '1.24'
217
+ - !ruby/object:Gem::Dependency
218
+ name: logger
219
+ requirement: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - "~>"
222
+ - !ruby/object:Gem::Version
223
+ version: '1.6'
224
+ type: :runtime
225
+ prerelease: false
226
+ version_requirements: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - "~>"
229
+ - !ruby/object:Gem::Version
230
+ version: '1.6'
217
231
  - !ruby/object:Gem::Dependency
218
232
  name: win32-service
219
233
  requirement: !ruby/object:Gem::Requirement
@@ -270,6 +284,20 @@ dependencies:
270
284
  - - "~>"
271
285
  - !ruby/object:Gem::Version
272
286
  version: 0.1.7
287
+ - !ruby/object:Gem::Dependency
288
+ name: fiddle
289
+ requirement: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - "~>"
292
+ - !ruby/object:Gem::Version
293
+ version: '1.1'
294
+ type: :runtime
295
+ prerelease: false
296
+ version_requirements: !ruby/object:Gem::Requirement
297
+ requirements:
298
+ - - "~>"
299
+ - !ruby/object:Gem::Version
300
+ version: '1.1'
273
301
  - !ruby/object:Gem::Dependency
274
302
  name: rake
275
303
  requirement: !ruby/object:Gem::Requirement
@@ -1011,7 +1039,7 @@ homepage: https://www.fluentd.org/
1011
1039
  licenses:
1012
1040
  - Apache-2.0
1013
1041
  metadata: {}
1014
- post_install_message:
1042
+ post_install_message:
1015
1043
  rdoc_options: []
1016
1044
  require_paths:
1017
1045
  - lib
@@ -1027,7 +1055,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1027
1055
  version: '0'
1028
1056
  requirements: []
1029
1057
  rubygems_version: 3.4.19
1030
- signing_key:
1058
+ signing_key:
1031
1059
  specification_version: 4
1032
1060
  summary: Fluentd event collector
1033
1061
  test_files: