class SmtpMock::Server::Process

Constants

SIGKILL
SIGNULL
SIGTERM
TMP_LOG_PATH
WARMUP_DELAY

Public Class Methods

alive?(pid) click to toggle source
# File lib/smtp_mock/server/process.rb, line 21
def alive?(pid)
  ::Process.kill(SmtpMock::Server::Process::SIGNULL, pid)
  true
rescue ::Errno::ESRCH
  false
end
create(command) click to toggle source
# File lib/smtp_mock/server/process.rb, line 13
def create(command)
  pid = ::Process.spawn(command, err: err_log)
  ::Kernel.sleep(SmtpMock::Server::Process::WARMUP_DELAY)
  error_context = ::IO.readlines(err_log)[0]
  raise SmtpMock::Error::Server, error_context.strip if error_context
  pid
end
kill(signal_number, pid) click to toggle source
# File lib/smtp_mock/server/process.rb, line 28
def kill(signal_number, pid)
  ::Process.detach(pid)
  ::Process.kill(signal_number, pid)
  true
rescue ::Errno::ESRCH
  false
end

Private Class Methods

err_log() click to toggle source
# File lib/smtp_mock/server/process.rb, line 38
def err_log
  @err_log ||= ::File.expand_path(SmtpMock::Server::Process::TMP_LOG_PATH, ::File.dirname(__FILE__))
end