Sha256: 1cfea1b0218c9bfb900f51b500a1248553c1d91e3172eba06bd3a899f9117ac5

Contents?: true

Size: 1.61 KB

Versions: 53

Compression:

Stored size: 1.61 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)
    command, event_suffix = data
    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, "#{$$}"]).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

53 entries across 53 versions & 1 rubygems

Version Path
fluentd-1.14.6-x86-mingw32 test/command/test_ctl.rb
fluentd-1.14.6-x64-mingw-ucrt test/command/test_ctl.rb
fluentd-1.14.6-x64-mingw32 test/command/test_ctl.rb
fluentd-1.14.6 test/command/test_ctl.rb
fluentd-1.14.5-x64-mingw-ucrt test/command/test_ctl.rb
fluentd-1.14.5-x86-mingw32 test/command/test_ctl.rb
fluentd-1.14.5-x64-mingw32 test/command/test_ctl.rb
fluentd-1.14.5 test/command/test_ctl.rb
fluentd-1.14.4-x64-mingw-ucrt test/command/test_ctl.rb
fluentd-1.14.4-x64-mingw32 test/command/test_ctl.rb
fluentd-1.14.4-x86-mingw32 test/command/test_ctl.rb
fluentd-1.14.4 test/command/test_ctl.rb
fluentd-1.14.3-x86-mingw32 test/command/test_ctl.rb
fluentd-1.14.3-x64-mingw32 test/command/test_ctl.rb
fluentd-1.14.3 test/command/test_ctl.rb
fluentd-1.14.2-x86-mingw32 test/command/test_ctl.rb
fluentd-1.14.2-x64-mingw32 test/command/test_ctl.rb
fluentd-1.14.2 test/command/test_ctl.rb
fluentd-1.14.1-x86-mingw32 test/command/test_ctl.rb
fluentd-1.14.1-x64-mingw32 test/command/test_ctl.rb