module Pork

Constants

Error
Failure
Report
Skip
Stat
VERSION

Public Class Methods

Rainbows!() click to toggle source
# File lib/pork.rb, line 34
def self.Rainbows!
  require 'pork/extra/rainbows'
  report_extensions << Rainbows
end
autorun(auto=true) click to toggle source
# File lib/pork.rb, line 111
def self.autorun auto=true
  @auto = auto
  @autorun ||= at_exit do
    next unless @auto
    run
    exit stat.failures + stat.errors + ($! && 1).to_i
  end
end
execute() click to toggle source
# File lib/pork.rb, line 83
def self.execute
  if ENV['PORK_TEST']
    if tests = Executor[ENV['PORK_TEST']]
      @stat = Executor.execute(:paths => tests)
    else
      puts "Cannot find test: #{ENV['PORK_TEST']}"
      exit 254
    end
  else
    @stat = Executor.execute
  end
end
execute_extensions() click to toggle source
# File lib/pork.rb, line 26
def self.execute_extensions
  @execute_extensions ||= []
end
execute_mode(mode=nil) click to toggle source

default to :shuffled while eliminating warnings for uninitialized ivar

# File lib/pork.rb, line 8
def self.execute_mode mode=nil
  @execute_mode = mode || @execute_mode ||= :shuffled
end
inspect_failure_mode(inspect=nil) click to toggle source

default to :auto while eliminating warnings for uninitialized ivar

# File lib/pork/inspect.rb, line 4
def self.inspect_failure_mode inspect=nil
  @inspect = inspect || @inspect ||= :auto
end
loaded(at=Time.now) click to toggle source
# File lib/pork.rb, line 106
def self.loaded at=Time.now
  @at = at
  @files = $LOADED_FEATURES.size
end
protected_exceptions() click to toggle source
# File lib/pork.rb, line 30
def self.protected_exceptions
  @protected_exceptions ||= [Pork::Error, StandardError]
end
report_class() click to toggle source
# File lib/pork.rb, line 18
def self.report_class
  const_get(report_mode.to_s.capitalize)
end
report_extensions() click to toggle source
# File lib/pork.rb, line 22
def self.report_extensions
  @report_extensions ||= []
end
report_mode(mode=nil) click to toggle source
# File lib/pork.rb, line 12
def self.report_mode mode=nil
  @report_mode = mode || @report_mode ||= :dot
  require "pork/report/#{@report_mode}"
  @report_mode
end
reseed() click to toggle source
# File lib/pork.rb, line 56
def self.reseed
  if ENV['PORK_SEED']
    seed
  else
    new_seed = Random.new_seed
    Random.srand(new_seed)
    new_seed
  end
end
run() click to toggle source
# File lib/pork.rb, line 96
def self.run
  srand
  execute_mode(ENV['PORK_MODE'])
  report_mode(ENV['PORK_REPORT'])
  trap
  stat.loaded(@at, @files) if instance_variable_defined?(:@at)
  execute
  stat.report
end
seed() click to toggle source
# File lib/pork.rb, line 48
def self.seed
  @seed ||= if Random.const_defined?(:DEFAULT)
              Random::DEFAULT.seed
            else
              Thread.current.randomizer.seed # Rubinius (rbx)
            end
end
show_source() click to toggle source
# File lib/pork.rb, line 39
def self.show_source
  require 'pork/extra/show_source'
  report_extensions << ShowSource
end
srand() click to toggle source
# File lib/pork.rb, line 66
def self.srand
  case ENV['PORK_SEED']
  when nil, 'random'
    Random.srand(seed)
  else
    Random.srand(Integer(ENV['PORK_SEED']))
  end
end
stat() click to toggle source
# File lib/pork.rb, line 44
def self.stat
  @stat ||= Pork::Stat.new
end
trap(sig='SIGINT') click to toggle source
# File lib/pork.rb, line 75
def self.trap sig='SIGINT'
  Signal.trap(sig) do
    stat.report
    puts "\nterminated by signal #{sig}"
    exit 255
  end
end