Class: Micronaut::Runner

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.autorunObject



9
10
11
12
13
# File 'lib/micronaut/runner.rb', line 9

def self.autorun
  return if installed_at_exit?
  @installed_at_exit = true
  at_exit { Micronaut::Runner.new.run(ARGV) ? exit(0) : exit(1) } 
end

.installed_at_exit?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/micronaut/runner.rb', line 5

def self.installed_at_exit?
  @installed_at_exit ||= false
end

Instance Method Details

#configurationObject



15
16
17
# File 'lib/micronaut/runner.rb', line 15

def configuration
  Micronaut.configuration
end

#formatterObject



19
20
21
# File 'lib/micronaut/runner.rb', line 19

def formatter
  Micronaut.configuration.formatter
end

#require_all_behaviours(files_from_args = []) ⇒ Object



23
24
25
# File 'lib/micronaut/runner.rb', line 23

def require_all_behaviours(files_from_args=[])
  files_from_args.each { |file| require file }
end

#run(args = []) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/micronaut/runner.rb', line 27

def run(args = [])
  require_all_behaviours(args)

  total_examples_to_run = Micronaut.world.total_examples_to_run

  old_sync, formatter.output.sync = formatter.output.sync, true if formatter.output.respond_to?(:sync=)

  suite_success = true

  formatter_supports_sync = formatter.output.respond_to?(:sync=)
  old_sync, formatter.output.sync = formatter.output.sync, true if formatter_supports_sync

  formatter.start(total_examples_to_run) # start the clock
  start = Time.now
  Micronaut.world.behaviours_to_run.each do |behaviour|
    suite_success &= behaviour.run(formatter)
  end
  formatter.start_dump(Time.now - start)
  
  formatter.dump_failures
  formatter.dump_summary
  formatter.dump_pending
  formatter.close
  
  formatter.output.sync = old_sync if formatter_supports_sync

  suite_success
end