27 lines
521 B
Ruby
27 lines
521 B
Ruby
|
module Autospec
|
||
|
class SimpleRunner < BaseRunner
|
||
|
|
||
|
def abort
|
||
|
if @pid
|
||
|
Process.kill("SIGINT", @pid) rescue nil
|
||
|
while(Process.getpgid(@pid) rescue nil)
|
||
|
sleep 0.001
|
||
|
end
|
||
|
@pid = nil
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def run(args, spec)
|
||
|
self.abort
|
||
|
puts "Running: " << spec
|
||
|
@pid = Process.spawn({"RAILS_ENV" => "test"}, "bundle exec rspec " << args.join(" "))
|
||
|
pid, status = Process.wait2(@pid)
|
||
|
status
|
||
|
end
|
||
|
|
||
|
def stop
|
||
|
self.abort
|
||
|
end
|
||
|
end
|
||
|
end
|