module RSpec::InPresenceOf
Public Class Methods
extended(*args)
click to toggle source
# File lib/rspec/launchbox/in_presence_of.rb, line 3 def self.extended(*args) # Launches particular service # and makes sure it's dead afterwards. # @param [String] service # @yields block as `describe` does # @example # describe MyClass do # in_presence_of 'some_service' do # # `some_service` executable is running # it 'can establish connection' do # #assert connecton presence # end # # and now it's being killed # end # end def in_presence_of(service, &block) before do @_service_pid = fork do $stdout.reopen '/dev/null' $stderr.reopen '/dev/null' exec service end fail "Failed to execute #{service}" unless @_service_pid end after do Process.kill(:INT, @_service_pid) if @_service_pid end context("in presence of #{service} service", &block) end end
Public Instance Methods
in_presence_of(service, &block)
click to toggle source
Launches particular service and makes sure it's dead afterwards. @param [String] service @yields block as `describe` does @example
describe MyClass do in_presence_of 'some_service' do # `some_service` executable is running it 'can establish connection' do #assert connecton presence end # and now it's being killed end end
# File lib/rspec/launchbox/in_presence_of.rb, line 18 def in_presence_of(service, &block) before do @_service_pid = fork do $stdout.reopen '/dev/null' $stderr.reopen '/dev/null' exec service end fail "Failed to execute #{service}" unless @_service_pid end after do Process.kill(:INT, @_service_pid) if @_service_pid end context("in presence of #{service} service", &block) end