From 34d1ea9e63093bfeba1fa1239d16158d364a99af Mon Sep 17 00:00:00 2001 From: Will Daly Date: Thu, 30 May 2013 15:09:39 -0400 Subject: [PATCH] Consolidated coverage report generation into one rake command. Added diff coverage reports using diff-coverage tool. --- doc/testing.md | 5 +++-- jenkins/test.sh | 3 ++- rakefiles/tests.rake | 31 +++++++++---------------------- 3 files changed, 14 insertions(+), 25 deletions(-) diff --git a/doc/testing.md b/doc/testing.md index e5d035d90e..bc58bc387d 100644 --- a/doc/testing.md +++ b/doc/testing.md @@ -197,9 +197,10 @@ To view test coverage: 2. Generate reports: - rake coverage:html + rake coverage -3. HTML reports are located in the `reports` folder. +3. Reports are located in the `reports` folder. The command +generates HTML and XML (Cobertura format) reports. ## Testing using queue servers diff --git a/jenkins/test.sh b/jenkins/test.sh index 35be3a0121..51566f6fb5 100755 --- a/jenkins/test.sh +++ b/jenkins/test.sh @@ -84,7 +84,8 @@ rake phantomjs_jasmine_cms || TESTS_FAILED=1 rake phantomjs_jasmine_common/lib/xmodule || TESTS_FAILED=1 rake phantomjs_jasmine_common/static/coffee || TESTS_FAILED=1 -rake coverage:xml coverage:html +# Generate coverage reports +rake coverage [ $TESTS_FAILED == '0' ] rake autodeploy_properties diff --git a/rakefiles/tests.rake b/rakefiles/tests.rake index 448a482f04..ac7037508c 100644 --- a/rakefiles/tests.rake +++ b/rakefiles/tests.rake @@ -119,30 +119,17 @@ task :test do end end -namespace :coverage do - desc "Build the html coverage reports" - task :html => :report_dirs do - TEST_TASK_DIRS.each do |dir| - report_dir = report_dir_path(dir) +desc "Build the html, xml, and diff coverage reports" +task :coverage => :report_dirs do + TEST_TASK_DIRS.each do |dir| + report_dir = report_dir_path(dir) - if !File.file?("#{report_dir}/.coverage") - next - end - - sh("coverage html --rcfile=#{dir}/.coveragerc") + if !File.file?("#{report_dir}/.coverage") + next end - end - desc "Build the xml coverage reports" - task :xml => :report_dirs do - TEST_TASK_DIRS.each do |dir| - report_dir = report_dir_path(dir) - - if !File.file?("#{report_dir}/.coverage") - next - end - # Why doesn't the rcfile control the xml output file properly?? - sh("coverage xml -o #{report_dir}/coverage.xml --rcfile=#{dir}/.coveragerc") - end + sh("coverage html --rcfile=#{dir}/.coveragerc") + sh("coverage xml -o #{report_dir}/coverage.xml --rcfile=#{dir}/.coveragerc") + sh("diff-cover #{report_dir}/coverage.xml --html-report #{report_dir}/diff_cover.html --git-branch master...HEAD") end end