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