Class: CC::Analyzer::RaisingContainerListener

Inherits:
ContainerListener show all
Defined in:
lib/cc/analyzer/raising_container_listener.rb

Instance Method Summary collapse

Methods inherited from ContainerListener

#started

Constructor Details

#initialize(engine_name, failure_ex, timeout_ex) ⇒ RaisingContainerListener

Returns a new instance of RaisingContainerListener.



4
5
6
7
8
# File 'lib/cc/analyzer/raising_container_listener.rb', line 4

def initialize(engine_name, failure_ex, timeout_ex)
  @engine_name = engine_name
  @failure_ex = failure_ex
  @timeout_ex = timeout_ex
end

Instance Method Details

#finished(data) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/cc/analyzer/raising_container_listener.rb', line 17

def finished(data)
  unless data.status.success?
    message = "engine #{engine_name} failed"
    message << " with status #{data.status.exitstatus}"
    message << " and stderr \n#{data.stderr}"

    raise failure_ex, message
  end
end

#timed_out(data) ⇒ Object

Raises:

  • (timeout_ex)


10
11
12
13
14
15
# File 'lib/cc/analyzer/raising_container_listener.rb', line 10

def timed_out(data)
  message = "engine #{engine_name} ran for #{data.duration / 1000} seconds"
  message << " and was killed"

  raise timeout_ex, message
end