From a2c67e4e2737fa1983006e719fe4a94443b6ed1b Mon Sep 17 00:00:00 2001 From: Konstantin Haase Date: Thu, 8 Mar 2012 08:54:34 +0100 Subject: [PATCH] improve integration server handling --- test/integration_helper.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/test/integration_helper.rb b/test/integration_helper.rb index 458ec0b0..09eb09dd 100644 --- a/test/integration_helper.rb +++ b/test/integration_helper.rb @@ -36,6 +36,7 @@ module IntegrationHelper def run return unless installed? + kill @log = "" @pipe = IO.popen(command) @started = Time.now @@ -64,7 +65,7 @@ module IntegrationHelper def alive? 3.times { get('/ping') } true - rescue Errno::ECONNREFUSED, Errno::ECONNRESET => error + rescue Errno::ECONNREFUSED, Errno::ECONNRESET, EOFError => error false end @@ -127,7 +128,12 @@ module IntegrationHelper super "with #{server.name}: #{message}" do self.server = server server.run unless server.alive? - instance_eval(&block) + begin + instance_eval(&block) + rescue Exception => error + server.kill + raise error + end end end end