Class: RcovBuilder
Overview
Construction de la tache rcov (couverture des tests sur le code)
author: Vincent Dubois
date: 06 fevrier 2009
Instance Method Summary collapse
-
#build(project_name, auto_install, proxy_option) ⇒ Object
Implementation de la construction de la tache.
-
#prerequisite_met? ⇒ Boolean
Prérequis à la tâche.
-
#prerequisite_unmet_message ⇒ Object
Dans le cas de l’erreur de prérequis.
-
#quality_indicator_name ⇒ Object
Nom de l’indicateur de qualite.
-
#quality_percentage ⇒ Object
Methode qui permet d’extraire le pourcentage de qualite extrait d’un builder.
Methods included from Utils
build_name, erb_run, flog_caracteristics, flog_score_to_css_style, percent_to_css_style, run_command, verify_gem_presence
Instance Method Details
#build(project_name, auto_install, proxy_option) ⇒ Object
Implementation de la construction de la tache
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rcov_builder.rb', line 20 def build(project_name, auto_install, proxy_option) # On verifie la presence de rcov Utils.verify_gem_presence("rcov", auto_install, proxy_option) # On lance la generation puts " Building rcov code coverage report..." rcov_pass = Utils.run_command("rcov --rails --exclude rcov,rubyforge,builder,mime-types,xml-simple test/**/*_test.rb") if rcov_pass.index("Finished in").nil? raise " Execution of rcov failed with command 'rcov --rails --exclude rcov,rubyforge,builder,mime-types,xml-simple test/**/*_test.rb'.\n BUILD FAILED." end # On recupere le rapport genere Dir.mkdir "#{Continuous4r::WORK_DIR}/rcov" FileUtils.mv("coverage", "#{Continuous4r::WORK_DIR}/rcov/") end |
#prerequisite_met? ⇒ Boolean
Prérequis à la tâche
10 11 12 |
# File 'lib/rcov_builder.rb', line 10 def prerequisite_met? Dir.glob("test/**/*_test.rb").length > 0 end |
#prerequisite_unmet_message ⇒ Object
Dans le cas de l’erreur de prérequis
15 16 17 |
# File 'lib/rcov_builder.rb', line 15 def " No file matching the [test/**/*_test.rb] pattern. Rcov task will be ignored." end |
#quality_indicator_name ⇒ Object
Nom de l’indicateur de qualite
42 43 44 |
# File 'lib/rcov_builder.rb', line 42 def quality_indicator_name "tests coverage" end |
#quality_percentage ⇒ Object
Methode qui permet d’extraire le pourcentage de qualite extrait d’un builder
35 36 37 38 39 |
# File 'lib/rcov_builder.rb', line 35 def quality_percentage require 'hpricot' doc = Hpricot(File.read("#{Continuous4r::WORK_DIR}/rcov/coverage/index.html")) (doc/'tt[@class^="coverage_code"]')[0].inner_text.split(/%/)[0] end |