f4a80bb600
* Code cleanup in ansible-test. * Split out encoding functions. * Consoldate loading of JSON files. * Split out disk IO functions. * Simplify file access. * Add functions for opening files. * Replace open calls with appropriate functions. * Expose more types from typing module. * Support writing compact JSON. * Add verbosity argument to display.warning. * Add changelog entry. * Update files overlooked during rebase. * Use `io.open` instead of `open`. * Fix file opening for imp.load_module. * Remove use of `r+` mode to access files. * Add missing import. * Fix httptester on Python 2.x. * Clarify changelog fragment. * Consolidate imports. Remove extra newlines. * Fix indirect imports.
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
"""Generate HTML code coverage reports."""
|
|
from __future__ import (absolute_import, division, print_function)
|
|
__metaclass__ = type
|
|
|
|
import os
|
|
|
|
from ..io import (
|
|
make_dirs,
|
|
)
|
|
|
|
from ..util import (
|
|
display,
|
|
)
|
|
|
|
from ..util_common import (
|
|
ResultType,
|
|
)
|
|
|
|
from .combine import (
|
|
command_coverage_combine,
|
|
)
|
|
|
|
from . import (
|
|
run_coverage,
|
|
CoverageConfig,
|
|
)
|
|
|
|
|
|
def command_coverage_html(args):
|
|
"""
|
|
:type args: CoverageConfig
|
|
"""
|
|
output_files = command_coverage_combine(args)
|
|
|
|
for output_file in output_files:
|
|
if output_file.endswith('-powershell'):
|
|
# coverage.py does not support non-Python files so we just skip the local html report.
|
|
display.info("Skipping output file %s in html generation" % output_file, verbosity=3)
|
|
continue
|
|
|
|
dir_name = os.path.join(ResultType.REPORTS.path, os.path.basename(output_file))
|
|
make_dirs(dir_name)
|
|
run_coverage(args, output_file, 'html', ['-i', '-d', dir_name])
|
|
|
|
display.info('HTML report generated: file:///%s' % os.path.join(dir_name, 'index.html'))
|