rake/verifytask.rb
changeset 9 143e61e24c08
parent 8 308f7dc97753
child 10 389e66b0d38e
--- a/rake/verifytask.rb	Wed Aug 06 17:38:56 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-#####################################################################
-###	S U B V E R S I O N   T A S K S   A N D   H E L P E R S
-#####################################################################
-
-require 'rake/tasklib'
-
-#
-# Work around the inexplicable behaviour of the original RDoc::VerifyTask, which 
-# errors if your coverage isn't *exactly* the threshold.
-# 
-
-# A task that can verify that the RCov coverage doesn't
-# drop below a certain threshold. It should be run after
-# running Spec::Rake::SpecTask.
-class VerifyTask < Rake::TaskLib
-	
-	COVERAGE_PERCENTAGE_PATTERN = 
-		%r{<tt class='coverage_code'>(\d+\.\d+)%</tt>}
-	
-	# Name of the task. Defaults to :verify_rcov
-	attr_accessor :name
-
-	# Path to the index.html file generated by RCov, which
-	# is the file containing the total coverage.
-	# Defaults to 'coverage/index.html'
-	attr_accessor :index_html
-
-	# Whether or not to output details. Defaults to true.
-	attr_accessor :verbose
-
-	# The threshold value (in percent) for coverage. If the 
-	# actual coverage is not equal to this value, the task will raise an 
-	# exception. 
-	attr_accessor :threshold
-
-	def initialize( name=:verify )
-		@name = name
-		@index_html = 'coverage/index.html'
-		@verbose = true
-		yield self if block_given?
-		raise "Threshold must be set" if @threshold.nil?
-		define
-	end
-
-	def define
-		desc "Verify that rcov coverage is at least #{threshold}%"
-
-		task @name do
-			total_coverage = nil
-			if match = File.read( index_html ).match( COVERAGE_PERCENTAGE_PATTERN )
-				total_coverage = Float( match[1] )
-			else
-				raise "Couldn't find the coverage percentage in #{index_html}"
-			end
-
-			puts "Coverage: #{total_coverage}% (threshold: #{threshold}%)" if verbose
-			if total_coverage < threshold
-				raise "Coverage must be at least #{threshold}% but was #{total_coverage}%"
-			end
-		end
-	end
-end
-
-# vim: set nosta noet ts=4 sw=4: