diff --git a/VERSION b/VERSION index a67ceba..faa5fb2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.21.1 +0.22.2 diff --git a/hydra.gemspec b/hydra.gemspec index 221d604..9732524 100644 --- a/hydra.gemspec +++ b/hydra.gemspec @@ -5,7 +5,7 @@ Gem::Specification.new do |s| s.name = %q{hydra} - s.version = "0.21.1" + s.version = "0.22.2" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Nick Gauthier"] diff --git a/lib/hydra/master.rb b/lib/hydra/master.rb index fdea5de..b160363 100644 --- a/lib/hydra/master.rb +++ b/lib/hydra/master.rb @@ -14,6 +14,7 @@ module Hydra #:nodoc: include Hydra::Messages::Master include Open3 traceable('MASTER') + attr_reader :failed_files # Create a new Master # @@ -54,6 +55,7 @@ module Hydra #:nodoc: @files = Array(opts.fetch('files') { nil }) raise "No files, nothing to do" if @files.empty? @incomplete_files = @files.dup + @failed_files = [] @workers = [] @listeners = [] @event_listeners = Array(opts.fetch('listeners') { nil } ) @@ -116,6 +118,9 @@ module Hydra #:nodoc: @incomplete_files.delete_at(@incomplete_files.index(message.file)) trace "#{@incomplete_files.size} Files Remaining" @event_listeners.each{|l| l.file_end(message.file, message.output) } + unless message.output == '.' + @failed_files << message.file + end if @incomplete_files.empty? @workers.each do |worker| @event_listeners.each{|l| l.worker_end(worker) } diff --git a/lib/hydra/tasks.rb b/lib/hydra/tasks.rb index b9d301d..39fd270 100644 --- a/lib/hydra/tasks.rb +++ b/lib/hydra/tasks.rb @@ -109,7 +109,10 @@ module Hydra #:nodoc: $stderr.puts %{WARNING: Rails Environment is "development". Make sure to set it properly (ex: "RAILS_ENV=test rake hydra")} end - Hydra::Master.new(@opts) + master = Hydra::Master.new(@opts) + unless master.failed_files.empty? + raise "Hydra: Not all tests passes" + end end end end