#4374 closed task (fixed)

Handle symbol sets in covoar

Reported by: Alex White Owned by: Alex White
Priority: normal Milestone: 6.1
Component: tool Version: 6
Severity: normal Keywords: coverage
Cc: Blocked By:
Blocking:

Description

The covoar tool should be changed to handle all symbol sets for a coverage run rather than being called by coverage.py for each symbol set.

Currently, coverage.py calls covoar once for each symbol set found in the symbol-sets.ini configuration file. This leads to a lot of redundancy. For each symbol set, covoar has to process the objdumps and the coverage information of all the executables even though they do not change.

Changing covoar to process all symbol sets and generate reports in one invocation will result in a large speedup.

This will also require a minor modification to coverage.py to generate the correct .ini file and only call covoar once.

Change History (4)

comment:1 Changed on 04/05/21 at 18:00:17 by Alex White

Owner: set to Alex White
Status: newaccepted

comment:2 Changed on 04/06/21 at 19:22:58 by Alex White <alex.white@…>

In b02600a/rtems-tools:

covoar: Split symbols by symbol set

This changes the way covoar organizes the symbols. Instead of treating
all symbols as one set, covoar is now aware of multiple symbol sets and
tracks statistics for each set. It now also generates reports for each
symbol set.

This change relieves the caller of covoar of the reponsibility of
managing the symbol sets. As a result, covoar can minimize the work
done for each symbol set, yielding a significant speedup.

Updates #4374

comment:3 Changed on 04/06/21 at 19:23:00 by Alex White <alex.white@…>

In b3fcd10/rtems-tools:

coverage.py: Call covoar once

Updates #4374

comment:4 Changed on 04/07/21 at 15:35:06 by Alex White <alex.white@…>

Resolution: fixed
Status: acceptedclosed

In de185fe/rtems-tools:

covoar: Use range-based for loops in ReportsBase?

Some of the loops in the ReportsBase::Write* methods contained both
regular and range-based for loops. This changes them to use only range-
based for loops.

Closes #4374

Note: See TracTickets for help on using tickets.