On Wed, Jun 13, 2018 at 12:23 PM, Vijay Kumar Banerjee <vijaykumar9...@gmail.com> wrote: > > > On Wed, 13 Jun 2018, 21:39 Gedare Bloom, <ged...@rtems.org> wrote: >> >> On Wed, Jun 13, 2018 at 11:58 AM, Vijay Kumar Banerjee >> <vijaykumar9...@gmail.com> wrote: >> > On 13 June 2018 at 10:29, Gedare Bloom <ged...@rtems.org> wrote: >> >> >> >> On Thu, Jun 7, 2018 at 7:08 AM, Vijay Kumar Banerjee >> >> <vijaykumar9...@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 >> > >> >> I can't be sure, but I don't think his intent was to infer the >> coverage from the ini file name. For example, does the tester parse >> the ini file name to check for 'qemu' to decide if that target is >> being used? Instead, it should look in to the config file to read the >> option somehow. > > In leon3-qemu.ini the bsp option inside the > config file is set to leon3-qemu. > > There's no such special thing added to bsp for coverage. > Only difference we have is that, > the option 'bsp_qemu_cov_opts' is added in the coverage supported file. we > can > read the config file to see if this option is present. > > Shall I do it this way?
Yes, I suspect you should. >> >> >> >> >> > + 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@rtems.org >> >> > http://lists.rtems.org/mailman/listinfo/devel >> > >> > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel