Sha256: 2e2570e3d3e729d708fdec59d19ef3e7cc037c4976551c547d4d00161f661ac3

Contents?: true

Size: 924 Bytes

Versions: 11

Compression:

Stored size: 924 Bytes

Contents

module Relevance
  module Tarantula

    class IOReporter

      include Relevance::Tarantula
      attr_accessor :io, :results
      delegate :successes, :failures, :to => :results

      IOResultOverview = Struct.new(:code, :url)

      def initialize(io)
        @io = io
        @results = Struct.new(:successes, :failures).new([], [])
      end

      def report(result)
        return if result.nil?

        unless result.success # collection = result.success ? results.successes : results.failures
          results.failures << IOResultOverview.new(
            result.code, result.url
          )
        end
      end

      def finish_report(test_name)
        unless (failures).empty?
          io.puts "****** FAILURES"
          failures.each do |failure|
            io.puts "#{failure.code}: #{failure.url}"
          end
          raise "#{failures.size} failures"
        end
      end

    end

  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
codez-tarantula-0.5.5 lib/relevance/tarantula/io_reporter.rb
codez-tarantula-0.5.4 lib/relevance/tarantula/io_reporter.rb
codez-tarantula-0.5.3 lib/relevance/tarantula/io_reporter.rb
codez-tarantula-0.5.1 lib/relevance/tarantula/io_reporter.rb
codez-tarantula-0.5.0 lib/relevance/tarantula/io_reporter.rb
tarantula-0.5.1 lib/relevance/tarantula/io_reporter.rb
tarantula-0.5.0 lib/relevance/tarantula/io_reporter.rb
tarantula-0.4.3 lib/relevance/tarantula/io_reporter.rb
tarantula-0.4.2 lib/relevance/tarantula/io_reporter.rb
tarantula-0.4.1 lib/relevance/tarantula/io_reporter.rb
tarantula-0.4.0 lib/relevance/tarantula/io_reporter.rb