class Flare::Test::Node
Description¶ ↑
Attributes
hostname[R]
hostname_port[R]
pid[R]
port[R]
Public Class Methods
new(hostname_port, pid)
click to toggle source
# File lib/flare/test/node.rb, line 15 def initialize(hostname_port, pid) @hostname_port = hostname_port @hostname, @port = hostname_port.split(':') @pid = pid @alive = true end
Public Instance Methods
cont()
click to toggle source
# File lib/flare/test/node.rb, line 40 def cont Process.kill :CONT, @pid end
open(&block)
click to toggle source
# File lib/flare/test/node.rb, line 22 def open(&block) return nil unless @alive node = Flare::Tools::Node.open(@hostname, @port) return node if block.nil? ret = nil begin ret = block.call(node) rescue => e node.close raise e end ret end
stop()
click to toggle source
# File lib/flare/test/node.rb, line 36 def stop Process.kill :STOP, @pid end
terminate()
click to toggle source
# File lib/flare/test/node.rb, line 44 def terminate puts "killing... #{@pid}" begin Timeout.timeout(10) do Process.kill :TERM, @pid Process.waitpid @pid end rescue TimeoutError => e Process.kill :KILL, @pid Process.waitpid @pid end @alive = false end