Class: Evilution::Isolation::InProcess

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/isolation/in_process.rb

Class Attribute Summary collapse

Instance Method Summary collapse

Class Attribute Details

.null_errObject (readonly)

Returns the value of attribute null_err.



14
15
16
# File 'lib/evilution/isolation/in_process.rb', line 14

def null_err
  @null_err
end

.null_outObject (readonly)

Returns the value of attribute null_out.



14
15
16
# File 'lib/evilution/isolation/in_process.rb', line 14

def null_out
  @null_out
end

Instance Method Details

#call(mutation:, test_command:, timeout:) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/evilution/isolation/in_process.rb', line 17

def call(mutation:, test_command:, timeout:)
  start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC)
  rss_before = Evilution::Memory.rss_kb
  result = execute_with_timeout(mutation, test_command, timeout)
  rss_after = Evilution::Memory.rss_kb
  duration = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start_time
  delta = compute_memory_delta(rss_before, rss_after, result)

  build_mutation_result(mutation, result, duration, rss_before, rss_after, delta)
end