diff --git a/.coveragerc b/.coveragerc index 44b8c467a2..596d280140 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,6 +1,6 @@ # .coveragerc for edx-platform [run] -data_file = reports/.coverage +data_file = reports/${TEST_SUITE}.coverage source = cms common/djangoapps diff --git a/pavelib/utils/test/suites/suite.py b/pavelib/utils/test/suites/suite.py index f6c9bea561..f23e371057 100644 --- a/pavelib/utils/test/suites/suite.py +++ b/pavelib/utils/test/suites/suite.py @@ -4,6 +4,7 @@ A class used for defining and running test suites """ from __future__ import absolute_import, print_function +import os import subprocess import sys @@ -93,6 +94,8 @@ class TestSuite(object): sys.stdout.write(msg) sys.stdout.flush() + if 'TEST_SUITE' not in os.environ: + os.environ['TEST_SUITE'] = self.root.replace("/", "_") kwargs = {'shell': True, 'cwd': None} process = None diff --git a/scripts/unit-tests.sh b/scripts/unit-tests.sh index 93aa2b0bda..c70ef2280e 100755 --- a/scripts/unit-tests.sh +++ b/scripts/unit-tests.sh @@ -56,15 +56,15 @@ case "${TEST_SUITE}" in case "$SHARD" in "all") paver test_system -s lms --disable_capture ${PAVER_ARGS} ${PARALLEL} 2> lms-tests.log - mv reports/.coverage reports/.coverage.lms + mv reports/${TEST_SUITE}.coverage reports/.coverage.lms ;; [1-9]) paver test_system -s lms --disable_capture --eval-attr="shard==$SHARD" ${PAVER_ARGS} ${PARALLEL} 2> lms-tests.${SHARD}.log - mv reports/.coverage reports/.coverage.lms.${SHARD} + mv reports/${TEST_SUITE}.coverage reports/.coverage.lms.${SHARD} ;; 10|"noshard") paver test_system -s lms --disable_capture --eval-attr="shard>=$SHARD or not shard" ${PAVER_ARGS} ${PARALLEL} 2> lms-tests.10.log - mv reports/.coverage reports/.coverage.lms.10 + mv reports/${TEST_SUITE}.coverage reports/.coverage.lms.10 ;; *) # If no shard is specified, rather than running all tests, create an empty xunit file. This is a @@ -81,15 +81,15 @@ case "${TEST_SUITE}" in case "$SHARD" in "all") paver test_system -s cms --disable_capture ${PAVER_ARGS} ${PARALLEL} 2> cms-tests.log - mv reports/.coverage reports/.coverage.cms + mv reports/${TEST_SUITE}.coverage reports/.coverage.cms ;; 1) paver test_system -s cms --disable_capture --eval-attr="shard==$SHARD" ${PAVER_ARGS} 2> cms-tests.${SHARD}.log - mv reports/.coverage reports/.coverage.cms.${SHARD} + mv reports/${TEST_SUITE}.coverage reports/.coverage.cms.${SHARD} ;; 2|"noshard") paver test_system -s cms --disable_capture --eval-attr="shard>=$SHARD or not shard" ${PAVER_ARGS} 2> cms-tests.2.log - mv reports/.coverage reports/.coverage.cms.2 + mv reports/${TEST_SUITE}.coverage reports/.coverage.cms.2 ;; *) # If no shard is specified, rather than running all tests, create an empty xunit file. This is a @@ -106,15 +106,15 @@ case "${TEST_SUITE}" in case "$SHARD" in "all") paver test_lib --disable_capture ${PAVER_ARGS} ${PARALLEL} 2> common-tests.log - mv reports/.coverage reports/.coverage.commonlib + mv reports/${TEST_SUITE}.coverage reports/.coverage.commonlib ;; [1-2]) paver test_lib -l common/lib/xmodule --disable_capture --eval-attr="shard==$SHARD" ${PAVER_ARGS} 2> common-tests.${SHARD}.log - mv reports/.coverage reports/.coverage.commonlib.${SHARD} + mv reports/${TEST_SUITE}.coverage reports/.coverage.commonlib.${SHARD} ;; 3|"noshard") paver test_lib --disable_capture --eval-attr="shard>=$SHARD or not shard" ${PAVER_ARGS} 2> common-tests.3.log - mv reports/.coverage reports/.coverage.commonlib.3 + mv reports/${TEST_SUITE}.coverage reports/.coverage.commonlib.3 ;; *) # If no shard is specified, rather than running all tests, create an empty xunit file. This is a