[PATCH] coverage : Add support to run coverage in supported bsp without extra options
Vijay Kumar Banerjee
vijaykumar9597 at gmail.com
Wed Jun 13 15:58:25 UTC 2018
On 13 June 2018 at 10:29, Gedare Bloom <gedare at rtems.org> wrote:
> On Thu, Jun 7, 2018 at 7:08 AM, Vijay Kumar Banerjee
> <vijaykumar9597 at gmail.com> wrote:
> > Close #3440
> > ---
> > tester/rt/coverage.py | 6 ++++--
> > tester/rt/test.py | 15 ++++++++++-----
> > 2 files changed, 14 insertions(+), 7 deletions(-)
> >
> > diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py
> > index 54933d5..af24124 100644
> > --- a/tester/rt/coverage.py
> > +++ b/tester/rt/coverage.py
> > @@ -163,7 +163,8 @@ class report_gen_html:
> > row += " <td>" + summary.branches_uncovered + "</td>"
> > row += " <td>" + summary.branches_total + "</td>"
> > row += " <td> {:.3%} </td>".format(summary.
> percentage_branches_covered)
> > - row += ' <td><progress value="{:.3}"
> max="100"></progress></td>'.format(100*summary.percentage_
> branches_covered)
> > + row += ' <td><progress value="{:.3}"
> max="100"></progress></td>'\
> > + .format(100*summary.percentage_branches_covered)
>
> Is there a style guide for how to split long lines in Python? I find
> splitting before the .format seems strange to me. I might have
> preferred to see it split at .format(\ which probably can be done
> without using a backslash in this case, since python knows to keep
> scanning inside a parenthetical block.
>
Will update it according to your suggestion. :)
>
> > row += "</tr>\n"
> > return row
> >
> > @@ -299,7 +300,8 @@ class covoar(object):
> > if (not path.exists(covoar_result_dir)):
> > path.mkdir(covoar_result_dir)
> > if (not path.exists(symbol_file)):
> > - raise error.general('symbol set file: coverage %s was not
> created for covoar, skipping %s'% (symbol_file, set_name))
> > + raise error.general('symbol set file: %s was not '
> > + 'created for covoar, skipping %s'% (symbol_file,
> set_name))
>
> ditto.
>
> > command = ('covoar -S ' + symbol_file
> > + ' -O ' + covoar_result_dir
> > + ' -E ' + self.explanations_txt
> > diff --git a/tester/rt/test.py b/tester/rt/test.py
> > index 0e744cd..cdb5157 100644
> > --- a/tester/rt/test.py
> > +++ b/tester/rt/test.py
> > @@ -232,7 +232,7 @@ def run(command_path = None):
> > '--filter': 'Glob that executables must
> match to run (default: ' +
> > default_exefilter + ')',
> > '--stacktrace': 'Dump a stack trace on a user
> termination (^C)',
> > - '--coverage': 'Perform coverage analysis of
> test executables.'}
> > + '--coverage-sets': 'Perform coverage for specific
> sets'}
> > mailer.append_options(optargs)
> > opts = options.load(sys.argv,
> > optargs = optargs,
> > @@ -279,15 +279,20 @@ def run(command_path = None):
> > else:
> > rtems_tools = '%{_prefix}'
> > bsp = opts.find_arg('--rtems-bsp')
> > + if 'cov' in bsp[1].split('-'):
>
> I'm not sure if this use of the 'cov' field in the bsp config filename
> itself is the proper way to go about accomplishing the activation of
> coverage. What are other possible ways to get this done? Is the use of
> a portion of the bsp config filename done elsewhere in tester?
>
This patch was made following Chris' comments in another thread
https://lists.rtems.org/pipermail/devel/2018-June/021931.html
> > + coverage_enabled = True
> > if bsp is None or len(bsp) != 2:
> > raise error.general('RTEMS BSP not provided or an invalid
> option')
> > bsp = config.load(bsp[1], opts)
> > bsp_config = opts.defaults.expand(opts.defaults['tester'])
> > - coverage_enabled = opts.find_arg('--coverage')
> > + coverage_sets = opts.find_arg('--coverage-sets')
> > if coverage_enabled:
> > - if len(coverage_enabled) == 2:
> > - coverage_runner = coverage.coverage_run(opts.defaults,
> > - coverage_enabled[1],
> > + if coverage_sets:
> > + if len(coverage_sets) != 2:
> > + raise error.general('No sets provided in
> --coverage-sets')
> > + else :
>
> I don't think there should be a space character before the colon?
>
that's a mistake, I'll correct it. Thanks.
>
> > + coverage_runner = coverage.coverage_run(opts.
> defaults,
> > + coverage_sets[1],
> > executables)
> > else:
> > coverage_runner = coverage.coverage_run(opts.defaults,
> 0,
> > --
> > 2.14.3
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20180613/de814471/attachment-0002.html>
More information about the devel
mailing list