From 8938b93b3f75806185f2c3b0547f1dbc2fcd589b Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Sun, 2 Jun 2013 09:07:39 +0100 Subject: [PATCH] Run our own API based coverage --- .coveragerc | 10 ---------- .travis.yml | 2 +- tests/runtests.py | 41 ++++++++++++++++++++++++++++------------- 3 files changed, 29 insertions(+), 24 deletions(-) delete mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index db6ba852326..00000000000 --- a/.coveragerc +++ /dev/null @@ -1,10 +0,0 @@ -[run] -branch = True - -[report] -include = - salt/** - -omit = - # omit all of our tests - tests/** diff --git a/.travis.yml b/.travis.yml index 12ecf055580..51fa91a46ca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ before_install: install: pip install -r requirements.txt --use-mirrors --mirrors=http://testpypi.python.org/pypi -script: "sudo -E /home/travis/virtualenv/python${TRAVIS_PYTHON_VERSION}/bin/coverage run setup.py test --runtests-opts='--run-destructive --sysinfo -v'" +script: "sudo -E /home/travis/virtualenv/python${TRAVIS_PYTHON_VERSION}/bin/python setup.py test --runtests-opts='--run-destructive --sysinfo -v --coverage --no-coverage-report'" after_script: - coveralls --verbose diff --git a/tests/runtests.py b/tests/runtests.py index 2e112bc40ac..0273673ef41 100755 --- a/tests/runtests.py +++ b/tests/runtests.py @@ -22,11 +22,19 @@ except ImportError: xmlrunner = None TEST_DIR = os.path.dirname(os.path.normpath(os.path.abspath(__file__))) +SALT_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) XML_OUTPUT_DIR = os.environ.get( 'SALT_XML_TEST_REPORTS_DIR', os.path.join(TMP, 'xml-test-reports') ) + +try: + if SALT_ROOT: + os.chdir(SALT_ROOT) +except OSError, err: + print 'Failed to change directory to salt\'s source: {0}'.format(err) + try: import coverage # Cover any subprocess @@ -34,7 +42,7 @@ try: # Setup coverage code_coverage = coverage.coverage( branch=True, - source=[os.path.join(os.path.dirname(TEST_DIR), 'salt')], + source=[os.path.join(os.getcwd(), 'salt')], ) except ImportError: code_coverage = None @@ -280,6 +288,12 @@ def parse_opts(): action='store_true', help='Run tests and report code coverage' ) + output_options_group.add_option( + '--no-coverage-report', + default=False, + action='store_true', + help='Don\'t build the coverage HTML report' + ) output_options_group.add_option( '--no-colors', '--no-colours', @@ -461,19 +475,20 @@ if __name__ == '__main__': print('Current Directory: {0}'.format(os.getcwd())) print('Coverage data file exists? {0}'.format(os.path.isfile('.coverage'))) - report_dir = os.path.join(os.path.dirname(__file__), 'coverage-report') - print( - '\nGenerating Coverage HTML Report Under {0!r} ...'.format( - report_dir - ) - ), - sys.stdout.flush() + if opts.no_coverage_report is False: + report_dir = os.path.join(os.path.dirname(__file__), 'coverage-report') + print( + '\nGenerating Coverage HTML Report Under {0!r} ...'.format( + report_dir + ) + ), + sys.stdout.flush() - if os.path.isdir(report_dir): - import shutil - shutil.rmtree(report_dir) - code_coverage.html_report(directory=report_dir) - print('Done.\n') + if os.path.isdir(report_dir): + import shutil + shutil.rmtree(report_dir) + code_coverage.html_report(directory=report_dir) + print('Done.\n') if false_count > 0: sys.exit(1)