File: cov.rb

package info (click to toggle)
ruby-hoe 4.6.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 464 kB
  • sloc: ruby: 2,251; makefile: 5
file content (44 lines) | stat: -rw-r--r-- 845 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
##
# Coverage plugin for hoe. Uses simplecov.
#
# === Tasks Provided:
#
# cov:: Analyze code coverage with tests using simplecov.

module Hoe::Cov

  ##
  # Directories to filter out from coverage.

  attr_accessor :cov_filter

  def initialize_cov # :nodoc:
    self.cov_filter = %w[tmp test]
  end

  ##
  # Activate the cov dependencies.

  def activate_cov_deps
    dependency "simplecov", "~> 0.21", :development
  end

  ##
  # Define tasks for plugin.

  def define_cov_tasks
    task :isolate # ensure it exists

    self.clean_globs << "coverage"

    desc "Run tests and analyze code coverage"
    task :cov => :isolate do
      test_task.test_prelude =
        %(require "simplecov"; SimpleCov.start { add_filter %p }) % [cov_filter]

      Rake::Task[:test].invoke
    end
  rescue LoadError
    warn "simplecov not found"
  end
end