class ZSpec::Worker
Constants
- APPLICATION_FILE
Public Class Methods
new(queue:, tracker:)
click to toggle source
# File lib/zspec/worker.rb, line 5 def initialize(queue:, tracker:) @queue = queue @tracker = tracker end
Public Instance Methods
work()
click to toggle source
# File lib/zspec/worker.rb, line 10 def work require APPLICATION_FILE if File.exist? APPLICATION_FILE @queue.pending_queue.each do |spec| next if spec.nil? puts "running: #{spec}" fork do run_specs(spec, StringIO.new) end Process.waitall fail if $?.exitstatus != 0 puts "completed: #{spec}" end end
Private Instance Methods
run_specs(spec, stdout)
click to toggle source
# File lib/zspec/worker.rb, line 26 def run_specs(spec, stdout) formatter = ZSpec::Formatter.new( queue: @queue, tracker: @tracker, stdout: stdout, message: spec ) configuration = ::RSpec.configuration configuration.add_formatter(formatter) options = ::RSpec::Core::ConfigurationOptions.new(["--backtrace", spec]) runner = ::RSpec::Core::Runner.new(options, configuration) def runner.trap_interrupt() end runner.run($stderr, stdout) end