Hello, If you find some time, please do a final review of this patch and provide suggestions if it's not mergeable yet :)
There are only three days left, I seek some advice on the wrapup work on coverage analysis . The current status is : * This patch adds support to generate separate report for each symbol-sets. * I sent a patch a day ago with the symbol-sets and the respective libraray addresses added to the symbol-sets.ini file. I have also attached a screenshot of the report. Joel, does the report look good to you ? What are the next steps to get the reports published ? Is it intended to be a post GSoC work ? * I have completed the dumper for gcno files. There are still more understanding needed to make sense out of the data, but all the data can be dumped in a human readable format now. Please have a look at the generated txt file. https://github.com/thelunatic/gcno_dumper/blob/master/gcno_dump.txt <https://github.com/thelunatic/gcno_dumper/blob/master/gcno_dump.txt> * Any other suggestions ? Thanks --vijayk On 30 July 2018 at 22:55, 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 | 38 ++++++++++++++++++-------------------- > 1 file changed, 18 insertions(+), 20 deletions(-) > > diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py > index 7dd5002..c979332 100644 > --- a/tester/rt/coverage.py > +++ b/tester/rt/coverage.py > @@ -99,8 +99,8 @@ class summary: > return line.strip().split(' ')[0] > > class report_gen_html: > - def __init__(self, p_symbol_sets_list, build_dir, rtdir, bsp): > - self.symbol_sets_list = ['score'] > + def __init__(self, symbol_sets, build_dir, rtdir, bsp): > + self.symbol_sets = symbol_sets > self.build_dir = build_dir > self.partial_reports_files = list(['index.html', 'summary.txt']) > self.number_of_columns = 1 > @@ -109,7 +109,7 @@ class report_gen_html: > > def _find_partial_reports(self): > partial_reports = {} > - for symbol_set in self.symbol_sets_list: > + for symbol_set in self.symbol_sets: > set_summary = summary(path.join(self.bsp + "-coverage", > symbol_set)) > set_summary.parse() > @@ -204,7 +204,7 @@ class report_gen_html: > def add_covoar_src_path(self): > table_js_path = path.join(self.covoar_src_path, 'table.js') > covoar_css_path = path.join(self.covoar_src_path, 'covoar.css') > - for symbol_set in self.symbol_sets_list: > + for symbol_set in self.symbol_sets: > symbol_set_dir = path.join(self.build_dir, > self.bsp + '-coverage', symbol_set) > html_files = os.listdir(symbol_set_dir) > @@ -264,27 +264,23 @@ class symbol_parser(object): > for sset in self.ssets: > lib = path.join(self.build_dir, config.get('libraries', > sset)) > self.symbol_sets[sset] = lib.encode('utf-8') > + return self.ssets > 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 +367,22 @@ 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, > + symbol_sets = parser.parse() > + for sset in symbol_sets: > + 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(symbol_sets); > 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']) > -- > 2.14.4 > >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel