diff --git a/test/runner/lib/config.py b/test/runner/lib/config.py index 3b422d274c..c86f9c4afd 100644 --- a/test/runner/lib/config.py +++ b/test/runner/lib/config.py @@ -246,3 +246,5 @@ class CoverageReportConfig(CoverageConfig): super(CoverageReportConfig, self).__init__(args) self.show_missing = args.show_missing # type: bool + self.include = args.include # type: str + self.omit = args.omit # type: str diff --git a/test/runner/lib/cover.py b/test/runner/lib/cover.py index 27bc6068c9..fca629aacb 100644 --- a/test/runner/lib/cover.py +++ b/test/runner/lib/cover.py @@ -154,6 +154,12 @@ def command_coverage_report(args): if args.show_missing: options.append('--show-missing') + if args.include: + options.extend(['--include', args.include]) + + if args.omit: + options.extend(['--omit', args.omit]) + env = common_environment() env.update(dict(COVERAGE_FILE=output_file)) run_command(args, env=env, cmd=['coverage', 'report'] + options) diff --git a/test/runner/test.py b/test/runner/test.py index 79f4f0ff29..7fe39dfc0a 100755 --- a/test/runner/test.py +++ b/test/runner/test.py @@ -397,6 +397,15 @@ def parse_args(): coverage_report.add_argument('--show-missing', action='store_true', help='show line numbers of statements not executed') + coverage_report.add_argument('--include', + metavar='PAT1,PAT2,...', + help='include only files whose paths match one of these ' + 'patterns. Accepts shell-style wildcards, which must be ' + 'quoted.') + coverage_report.add_argument('--omit', + metavar='PAT1,PAT2,...', + help='omit files whose paths match one of these patterns. ' + 'Accepts shell-style wildcards, which must be quoted.') add_extra_coverage_options(coverage_report)