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.



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

def initialize(test)
  @test = test
end

Instance Attribute Details

#testObject (readonly)

Returns the value of attribute test.



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

def test
  @test
end

Class Method Details

.available_prioritiesObject



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

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

.have_priority?(name) ⇒ Boolean

Returns:

  • (Boolean)


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

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)


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

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)


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

def run_priority_high?(test)
  rand > 0.3
end

.run_priority_important?(test) ⇒ Boolean

Returns:

  • (Boolean)


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

def run_priority_important?(test)
  rand > 0.1
end

.run_priority_low?(test) ⇒ Boolean

Returns:

  • (Boolean)


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

def run_priority_low?(test)
  rand > 0.75
end

.run_priority_must?(test) ⇒ Boolean

Returns:

  • (Boolean)


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

def run_priority_must?(test)
  true
end

.run_priority_never?(test) ⇒ Boolean

Returns:

  • (Boolean)


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

def run_priority_never?(test)
  false
end

.run_priority_normal?(test) ⇒ Boolean

Returns:

  • (Boolean)


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

def run_priority_normal?(test)
  rand > 0.5
end

Instance Method Details

#need_to_run?Boolean

Returns:

  • (Boolean)


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

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

#setupObject



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

def setup
  FileUtils.rm_f(passed_file)
end

#teardownObject



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

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