Class: Test::Unit::Priority::Checker

Inherits:
Object
  • Object
show all
Defined in:
lib/test/unit/priority.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(test) ⇒ Checker

Returns a new instance of Checker.



97
98
99
# File 'lib/test/unit/priority.rb', line 97

def initialize(test)
  @test = test
end

Instance Attribute Details

#testObject (readonly)

Returns the value of attribute test.



96
97
98
# File 'lib/test/unit/priority.rb', line 96

def test
  @test
end

Class Method Details

.available_prioritiesObject



59
60
61
62
63
64
# File 'lib/test/unit/priority.rb', line 59

def available_priorities
  methods(false).collect do |name|
    /\Arun_priority_(.+)\?\z/ =~ name.to_s
    $1
  end.compact
end

.have_priority?(name) ⇒ Boolean

Returns:

  • (Boolean)


45
46
47
48
# File 'lib/test/unit/priority.rb', line 45

def have_priority?(name)
  singleton_class = (class << self; self; end)
  singleton_class.method_defined?(priority_check_method_name(name))
end

.need_to_run?(test) ⇒ Boolean

Returns:

  • (Boolean)


50
51
52
53
54
55
56
57
# File 'lib/test/unit/priority.rb', line 50

def need_to_run?(test)
  priority = test[:priority] || Priority.default
  if have_priority?(priority)
    send(priority_check_method_name(priority), test)
  else
    true
  end
end

.run_priority_high?(test) ⇒ Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/test/unit/priority.rb', line 74

def run_priority_high?(test)
  rand > 0.3
end

.run_priority_important?(test) ⇒ Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/test/unit/priority.rb', line 70

def run_priority_important?(test)
  rand > 0.1
end

.run_priority_low?(test) ⇒ Boolean

Returns:

  • (Boolean)


82
83
84
# File 'lib/test/unit/priority.rb', line 82

def run_priority_low?(test)
  rand > 0.75
end

.run_priority_must?(test) ⇒ Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/test/unit/priority.rb', line 66

def run_priority_must?(test)
  true
end

.run_priority_never?(test) ⇒ Boolean

Returns:

  • (Boolean)


86
87
88
# File 'lib/test/unit/priority.rb', line 86

def run_priority_never?(test)
  false
end

.run_priority_normal?(test) ⇒ Boolean

Returns:

  • (Boolean)


78
79
80
# File 'lib/test/unit/priority.rb', line 78

def run_priority_normal?(test)
  rand > 0.5
end

Instance Method Details

#need_to_run?Boolean

Returns:

  • (Boolean)


113
114
115
# File 'lib/test/unit/priority.rb', line 113

def need_to_run?
  !previous_test_success? or self.class.need_to_run?(@test)
end

#setupObject



101
102
103
# File 'lib/test/unit/priority.rb', line 101

def setup
  FileUtils.rm_f(passed_file)
end

#teardownObject



105
106
107
108
109
110
111
# File 'lib/test/unit/priority.rb', line 105

def teardown
  if @test.send(:passed?)
    FileUtils.touch(passed_file)
  else
    FileUtils.rm_f(passed_file)
  end
end