Class: FTest::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/ftest/runner.rb

Defined Under Namespace

Classes: ProcessSet

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(files) ⇒ Runner

Returns a new instance of Runner.



11
12
13
# File 'lib/ftest/runner.rb', line 11

def initialize files
  @files = files
end

Instance Attribute Details

#filesObject (readonly)

Returns the value of attribute files.



8
9
10
# File 'lib/ftest/runner.rb', line 8

def files
  @files
end

#pidsObject (readonly)

Returns the value of attribute pids.



9
10
11
# File 'lib/ftest/runner.rb', line 9

def pids
  @pids
end

Class Method Details

.call(paths) ⇒ Object



3
4
5
6
# File 'lib/ftest/runner.rb', line 3

def self.call paths
  instance = new paths
  instance.call
end

Instance Method Details

#callObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/ftest/runner.rb', line 15

def call
  Config.internal_logger.debug "ftest found #{files.size} files: #{files * ", "}"
  return if files.empty?
  result = run_all

  log_msg = "finished executing files; success=#{result.inspect}"
  if result
    Config.logger.info log_msg
  else
    Config.logger.warn log_msg
  end

  result
end

#run_allObject



30
31
32
33
34
35
# File 'lib/ftest/runner.rb', line 30

def run_all
  set = ProcessSet.new
  Signal.trap "INT" do set.shutdown end
  set << files.shift until files.empty?
  set.finish
end