On 25 July 2018 at 20:06, Gedare Bloom <ged...@rtems.org> wrote: > On Tue, Jul 24, 2018 at 10:37 PM, Vijay Kumar Banerjee > <vijaykumar9...@gmail.com> wrote: > > Invoke covoar multiple times from the script to generate separate > > reports for each symbol-set. > > --- > > tester/rt/coverage.py | 32 > +++++++++++++-------------- > > tester/rtems/testing/coverage/symbol-sets.ini | 11 ++++++--- > > 2 files changed, 23 insertions(+), 20 deletions(-) > > > > diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py > > index 7dd5002..e2f4dca 100644 > > --- a/tester/rt/coverage.py > > +++ b/tester/rt/coverage.py > > @@ -100,7 +100,7 @@ class summary: > > > > class report_gen_html: > > def __init__(self, p_symbol_sets_list, build_dir, rtdir, bsp): > > - self.symbol_sets_list = ['score'] > > + self.symbol_sets_list = p_symbol_sets_list > > self.build_dir = build_dir > > self.partial_reports_files = list(['index.html', 'summary.txt']) > > self.number_of_columns = 1 > > @@ -267,24 +267,19 @@ class symbol_parser(object): > > except: > > raise error.general('Symbol set parsing failed') > > > > - def _write_ini(self): > > + def write_ini(self, symbol_set): > > config = configparser.ConfigParser() > > try: > > - sets = ', '.join(self.symbol_sets.keys()) > > + sset = symbol_set > > config.add_section('symbol-sets') > > - config.set('symbol-sets', 'sets', sets) > > - for key in self.symbol_sets.keys(): > > - config.add_section(key) > > - config.set(key, 'libraries', self.symbol_sets[key]) > > + config.set('symbol-sets', 'sets', sset) > > + config.add_section(sset) > > + config.set(sset, 'libraries', self.symbol_sets[sset]) > > with open(self.symbol_select_file, 'w') as conf: > > config.write(conf) > > except: > > raise error.general('symbol parser write failed') > > > > - def run(self): > > - self.parse() > > - self._write_ini() > > - > > class covoar(object): > > ''' > > Covoar runner > > @@ -371,20 +366,23 @@ class coverage_run(object): > > self.symbol_select_path, > > self.symbol_set, > > build_dir) > > - parser.run() > > - covoar_runner = covoar(self.test_dir, > self.symbol_select_path, > > + parser.parse() > > + ssets = parser.symbol_sets.keys() > I don't like this two-line combination. It requires knowledge about > the internal workings of the parser class. Maybe it makes sense to > have parser.parse() returns the symbol_sets directly?
Understood, thanks. > > Also, I prefer if you kept symbol_sets as a name, but you can use the > sset for the shortened single "symbol_set". the intermixing of > symbol_sets, sset, and ssets is confusing to me. > > Will change it to symbol_sets. > > > + for sset in ssets: > > + parser.write_ini(sset) > > + covoar_runner = covoar(self.test_dir, > self.symbol_select_path, > > self.executables, > self.explanations_txt, > > self.trace) > > - covoar_runner.run('score', self.symbol_select_path) > > - self._generate_reports(); > > + covoar_runner.run(sset, self.symbol_select_path) > > + self._generate_reports(ssets); > You could keep the symbol_sets as a class variable if you want to. > either way is probably fine... > > > self._summarize(); > > finally: > > self._cleanup(); > > > > - def _generate_reports(self): > > + def _generate_reports(self, symbol_sets): > > log.notice('Coverage generating reports') > > if self.report_format == 'html': > > - report = report_gen_html(self.symbol_sets, > > + report = report_gen_html(symbol_sets, > > self.build_dir, > > self.rtdir, > > self.macros['bsp']) > > diff --git a/tester/rtems/testing/coverage/symbol-sets.ini > b/tester/rtems/testing/coverage/symbol-sets.ini > > index a2ec7bc..3900f14 100644 > > --- a/tester/rtems/testing/coverage/symbol-sets.ini > > +++ b/tester/rtems/testing/coverage/symbol-sets.ini > > @@ -29,8 +29,13 @@ > > # > > > > [symbol-sets] > > -sets = score,rtems > > +sets = score,rtems,libblock,libcrypt,libcsupport,libmd,libnetworking > > > > [libraries] > > -score = @BUILD-TARGET@/c/@BSP@/cpukit/score/libscore.a > > -rtems = @BUILD-TARGET@/c/@BSP@/cpukit/rtems/librtems.a > > +score = @BUILD-TARGET@/c/@BSP@/cpukit/score/libscore.a > > +rtems = @BUILD-TARGET@/c/@BSP@/cpukit/rtems/librtems.a > > +libblock = @BUILD-TARGET@/c/@BSP@/cpukit/libblock/libblock.a > > +libcrypt = @BUILD-TARGET@/c/@BSP@/cpukit/libcrypt/libcrypt.a > > +libcsupport = @BUILD-TARGET@/c/@BSP@/cpukit/libcsupport/libcsupport.a > > +libmd = @BUILD-TARGET@/c/@BSP@/cpukit/libmd/libmd.a > > +libnetworking = @BUILD-TARGET@/c/@BSP@/cpukit/ > libnetworking/libnetworking.a > > -- > > 2.14.2 > > >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel