Sha256: 8a9b36d70eb2116e00126d197686c707f5cf7e557c27942280bfe96a5cb00ef2

Contents?: true

Size: 1.15 KB

Versions: 97

Compression:

Stored size: 1.15 KB

Contents

module CC
  module Analyzer
    class RaisingContainerListener < ContainerListener
      def initialize(failure_ex, timeout_ex = nil, maximum_output_ex = nil)
        @failure_ex = failure_ex
        @timeout_ex = timeout_ex || failure_ex
        @maximum_output_ex = maximum_output_ex || failure_ex
      end

      def finished(engine, _details, result)
        if result.timed_out?
          message = "engine #{engine.name} ran for #{result.duration / 1000}"
          message << " seconds and was killed"
          raise timeout_ex.new(message, engine.name)
        elsif result.maximum_output_exceeded?
          message = "engine #{engine.name} produced too much output"
          message << " (#{result.output_byte_count} bytes)"
          raise maximum_output_ex.new(message, engine.name)
        elsif result.exit_status.nonzero?
          message = "engine #{engine.name} failed"
          message << " with status #{result.exit_status}"
          message << " and stderr \n#{result.stderr}"
          raise failure_ex.new(message, engine.name)
        end
      end

      private

      attr_reader :failure_ex, :timeout_ex, :maximum_output_ex
    end
  end
end

Version data entries

97 entries across 97 versions & 2 rubygems

Version Path
codeclimate-fede-0.85.38 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.37 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.36 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.35 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.33 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.32 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.31 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.30 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.21 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.24 lib/cc/analyzer/raising_container_listener.rb
codeclimate-fede-0.85.23 lib/cc/analyzer/raising_container_listener.rb
codeclimate-0.85.23 lib/cc/analyzer/raising_container_listener.rb
codeclimate-0.85.22 lib/cc/analyzer/raising_container_listener.rb
codeclimate-0.85.21 lib/cc/analyzer/raising_container_listener.rb
codeclimate-0.85.19 lib/cc/analyzer/raising_container_listener.rb
codeclimate-0.85.18 lib/cc/analyzer/raising_container_listener.rb
codeclimate-0.85.17 lib/cc/analyzer/raising_container_listener.rb
codeclimate-0.85.15 lib/cc/analyzer/raising_container_listener.rb
codeclimate-0.85.14 lib/cc/analyzer/raising_container_listener.rb
codeclimate-0.85.13 lib/cc/analyzer/raising_container_listener.rb