Sha256: 23c0b7c9604ddc23a56f17d8ce435e783581912b21e0294c48e7351426208c1e
Contents?: true
Size: 1.34 KB
Versions: 1
Compression:
Stored size: 1.34 KB
Contents
module Test module Environment def self.store_and_clear_hosts @previous_hosts = Sanford.config.hosts.dup Sanford.config.hosts.clear end def self.restore_hosts Sanford.config.hosts = @previous_hosts @previous_hosts = nil end end module ForkServerHelper def start_server(server, &block) begin pid = fork do trap("TERM"){ server.stop } server.start server.join_thread end sleep 0.3 # Give time for the socket to start listening. yield ensure if pid Process.kill("TERM", pid) Process.wait(pid) end end end end module ForkManagerHelper # start a Sanford server using Sanford's manager in a forked process def call_sanford_manager(*args, &block) pid = fork do STDOUT.reopen('/dev/null') trap("TERM"){ exit } Sanford::Manager.call(*args) end sleep 1 # give time for the command to run yield ensure if pid Process.kill("TERM", pid) Process.wait(pid) end end def open_socket(host, port) socket = TCPSocket.new(host, port) ensure socket.close rescue false end def expected_pid_file(host, ip, port) host.config.pid_dir.join("#{ip}_#{port}_#{host}.pid") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sanford-0.1.0 | test/support/helpers.rb |