Sha256: cdc293a4b3c90a0d28734b657514e022c6de4fa93914106bc3c09170f5594e5c

Contents?: true

Size: 1.58 KB

Versions: 41

Compression:

Stored size: 1.58 KB

Contents

require_relative '../helper'

require 'test-unit'
require 'win32/event' if Fluent.windows?

require 'fluent/command/ctl'

class TestFluentdCtl < ::Test::Unit::TestCase
  def assert_win32_event(event_name, command, pid_or_svcname)
    event = Win32::Event.new(event_name)
    ipc = Win32::Ipc.new(event.handle)
    ret = Win32::Ipc::TIMEOUT

    wait_thread = Thread.new do
      ret = ipc.wait(1)
    end
    Fluent::Ctl.new([command, pid_or_svcname]).call
    wait_thread.join
    assert_equal(Win32::Ipc::SIGNALED, ret)
  end

  data("shutdown" => ["shutdown", "TERM", ""],
       "restart" => ["restart", "HUP", "HUP"],
       "flush" => ["flush", "USR1", "USR1"],
       "reload" => ["reload", "USR2", "USR2"])
  def test_commands(data)
    command, signal, event_suffix = data

    if Fluent.windows?
      event_name = "fluentd_54321"
      event_name << "_#{event_suffix}" unless event_suffix.empty?
      assert_win32_event(event_name, command, "54321")
    else
      got_signal = false
      Signal.trap(signal) do
        got_signal = true
      end
      Fluent::Ctl.new([command, Process.pid.to_s]).call
      assert_true(got_signal)
    end
  end

  data("shutdown" => ["shutdown", ""],
       "restart" => ["restart", "HUP"],
       "flush" => ["flush", "USR1"],
       "reload" => ["reload", "USR2"])
  def test_commands_with_winsvcname(data)
    omit "Only for Windows" unless Fluent.windows?

    command, event_suffix = data
    event_name = "testfluentdwinsvc"
    event_name << "_#{event_suffix}" unless event_suffix.empty?

    assert_win32_event(event_name, command, "testfluentdwinsvc")
  end
end

Version data entries

41 entries across 41 versions & 6 rubygems

Version Path
fluentd-1.16.7-x64-mingw32 test/command/test_ctl.rb
fluentd-1.16.7-x86-mingw32 test/command/test_ctl.rb
fluentd-1.16.7-x64-mingw-ucrt test/command/test_ctl.rb
fluentd-1.16.7 test/command/test_ctl.rb
fluent-plugin-nuopenlineage-light-0.1.0 vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_ctl.rb
fluentd-1.16.6-x86-mingw32 test/command/test_ctl.rb
fluentd-1.16.6-x64-mingw32 test/command/test_ctl.rb
fluentd-1.16.6-x64-mingw-ucrt test/command/test_ctl.rb
fluentd-1.16.6 test/command/test_ctl.rb
fluent-plugin-openlineage-light-0.1.4 vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_ctl.rb
fluent-plugin-openlineage-light-0.1.3 vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_ctl.rb
fluent-plugin-openlineage-0.1.0 vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_ctl.rb
fluentd-1.17.0-x86-mingw32 test/command/test_ctl.rb
fluentd-1.17.0-x64-mingw-ucrt test/command/test_ctl.rb
fluentd-1.17.0-x64-mingw32 test/command/test_ctl.rb
fluentd-1.17.0 test/command/test_ctl.rb
fluentd-1.16.5-x64-mingw-ucrt test/command/test_ctl.rb
fluentd-1.16.5-x86-mingw32 test/command/test_ctl.rb
fluentd-1.16.5-x64-mingw32 test/command/test_ctl.rb
fluentd-1.16.5 test/command/test_ctl.rb