From 590a64bed1e87f35a589e692d967499273ef5ddb Mon Sep 17 00:00:00 2001 From: Christine Lytwynec Date: Mon, 4 May 2015 15:16:21 -0400 Subject: [PATCH] resolve path differences with coverage combine using a coveragerc file specifically for jenkins Conflicts: scripts/jenkins-report.sh --- pavelib/tests.py | 18 ++++++++++++++---- scripts/jenkins-report.sh | 2 +- test_root/.jenkins-coveragerc | 4 ++++ 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 test_root/.jenkins-coveragerc diff --git a/pavelib/tests.py b/pavelib/tests.py index 1b7d999caf..2f7a1b7723 100644 --- a/pavelib/tests.py +++ b/pavelib/tests.py @@ -3,7 +3,7 @@ Unit test tasks """ import os import sys -from paver.easy import sh, task, cmdopts, needs, call_task +from paver.easy import sh, task, cmdopts, needs, call_task, no_help from pavelib.utils.test import suites from pavelib.utils.envs import Env from optparse import make_option @@ -212,16 +212,26 @@ def coverage(options): call_task('diff_coverage', options=dict(options)) +@no_help @task @needs('pavelib.prereqs.install_prereqs') -def combine_coverage(): +def combine_jenkins_coverage(): """ - Combine coverage reports. + Combine coverage reports from jenkins build flow. """ + coveragerc = Env.REPO_ROOT / 'test_root' / '.jenkins-coveragerc' + for directory in Env.LIB_TEST_DIRS + ['cms', 'lms']: report_dir = Env.REPORT_DIR / directory + + # Only try to combine the coverage if we've run the tests. if report_dir.isdir(): - sh("cd {} && coverage combine".format(report_dir)) + sh( + "cd {} && coverage combine --rcfile={}".format( + report_dir, + coveragerc, + ) + ) @task diff --git a/scripts/jenkins-report.sh b/scripts/jenkins-report.sh index 8a43df2a5b..0a012f0b88 100755 --- a/scripts/jenkins-report.sh +++ b/scripts/jenkins-report.sh @@ -2,7 +2,7 @@ source scripts/jenkins-common.sh # Combine the data files that were generated using -p -paver combine_coverage +paver combine_jenkins_coverage # Get the diff coverage and html reports for unit tests paver coverage diff --git a/test_root/.jenkins-coveragerc b/test_root/.jenkins-coveragerc new file mode 100644 index 0000000000..e5a4c0f34d --- /dev/null +++ b/test_root/.jenkins-coveragerc @@ -0,0 +1,4 @@ +[paths] +source = + /home/jenkins/workspace/edx-platform-unit-coverage + /home/jenkins/workspace/edx-platform-test-subset