Class: Binpacker::Calibration

Inherits:
Object
  • Object
show all
Defined in:
lib/binpacker/calibration.rb,
sig/binpacker/calibration.rbs

Overview

Runs tests serially to generate an initial Timing file.

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Calibration

Returns a new instance of Calibration.

Parameters:

  • (Object)


11
12
13
14
# File 'lib/binpacker/calibration.rb', line 11

def initialize(config)
  @config = config
  @timing = Timing.new(config.timing_file)
end

Instance Method Details

#run(tests, incremental: false) ⇒ Array[untyped]

Runs each Test serially and appends its measured Weight to the Timing file. With incremental: true, Tests that already have a measured Weight are skipped.

Parameters:

  • (Object)
  • incremental: (Boolean) (defaults to: false)

Returns:

  • (Array[untyped])


18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/binpacker/calibration.rb', line 18

def run(tests, incremental: false)
  targets = incremental ? unmeasured(tests) : tests
  results = []

  targets.each do |test|
    elapsed = run_single(test)
    results << { file: test.file, name: test.name, time: elapsed }
  end

  @timing.append_all(results)
  results
end