Class: Rake::Coverage::Task

Inherits:
TestTask
  • Object
show all
Defined in:
lib/test/rake/coveragetask.rb

Constant Summary collapse

@@loader =
"test/rake/coverage_loader.rb"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = :coverage) ⇒ Task

set @name to “test_$name” will define two tasks, and a $name task depending on both of those



18
19
20
21
22
23
24
25
26
# File 'lib/test/rake/coveragetask.rb', line 18

def initialize( name=:coverage )
  @name = "#{name}__testtask".intern
  @real_name = name
  @summary_name = "#{name}__summarytask".intern
  @trace_log = "xxx.trace"
  @output_dir = "html/coverage"
  # super.initialize() calls define()
  super( @name )
end

Instance Attribute Details

#trace_logObject

Returns the value of attribute trace_log.



14
15
16
# File 'lib/test/rake/coveragetask.rb', line 14

def trace_log
  @trace_log
end

Instance Method Details

#defineObject

create tasks defined by this task object called from constructor



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/test/rake/coveragetask.rb', line 30

def define
  task @real_name => [ @name, @summary_name ]
  super # the testing task with trace logging turned on
  desc "Generate coverage summary report"
  task @summary_name do
    s = Rake::Coverage::Summarizer.new(
      @trace_log, @output_dir,
      self.summary_index_template, self.summary_page_template )
    s.summarize()
  end
  return self
end

#find_file_or_die(resource, desc = nil) ⇒ Object

mod of testtask.rb’s find_file:

- fails if resource not found
- takes descr of resource for fail message
- does not append ".rb" to resource name


47
48
49
50
51
52
53
54
# File 'lib/test/rake/coveragetask.rb', line 47

def find_file_or_die( resource, desc=nil ) # :nodoc:
  desc="resource" if desc.nil?
  $LOAD_PATH.each do |path|
    file_path = File.join( path, resource )
    return file_path if File.exist?( file_path )
  end
  fail "unable to find #{desc} (#{resource}) in load path"
end

#rake_loaderObject

XXX loader assumes output to xxx.trace XXX should have the loader print to a pipe object in here,

which can be stream-processed by Summarizer


59
60
61
# File 'lib/test/rake/coveragetask.rb', line 59

def rake_loader # :nodoc:
  find_file_or_die( @@loader, "coverage test loader" )
end

#summary_index_templateObject

:nodoc:



67
68
69
# File 'lib/test/rake/coveragetask.rb', line 67

def summary_index_template # :nodoc:
  find_file_or_die( "test/rake/index_template.html", "summary index template" )
end

#summary_page_templateObject

:nodoc:



63
64
65
# File 'lib/test/rake/coveragetask.rb', line 63

def summary_page_template # :nodoc:
  find_file_or_die( "test/rake/page_template.html", "summary page template" )
end