summaryrefslogtreecommitdiffstats
path: root/tester/covoar
diff options
context:
space:
mode:
authorRyan Long <ryan.long@oarcorp.com>2021-12-20 12:24:40 -0500
committerJoel Sherrill <joel@rtems.org>2021-12-22 08:41:26 -0600
commit8167ad233947c3253e65da2e230594acbf461606 (patch)
tree2aadeb36832dfe64905f9ae3b137e8647978437d /tester/covoar
parentTraceConverter.cc: Fix Uncaught exception issue (diff)
downloadrtems-tools-8167ad233947c3253e65da2e230594acbf461606.tar.bz2
ReportsBase: Change raw pointer to unique_ptr
Replaced raw pointer used with ReportsBase-derived classes to make code cleaner and make it to where pointers do not have to be manually deleted. Closes #4376
Diffstat (limited to 'tester/covoar')
-rw-r--r--tester/covoar/ReportsBase.cc77
1 files changed, 36 insertions, 41 deletions
diff --git a/tester/covoar/ReportsBase.cc b/tester/covoar/ReportsBase.cc
index 219e5af..0fb9ce0 100644
--- a/tester/covoar/ReportsBase.cc
+++ b/tester/covoar/ReportsBase.cc
@@ -591,80 +591,75 @@ void GenerateReports(
bool branchInfoAvailable
)
{
- typedef std::list<ReportsBase *> reportList_t;
+ using reportList_ptr = std::unique_ptr<ReportsBase>;
+ using reportList = std::vector<reportList_ptr>;
- reportList_t reportList;
- reportList_t::iterator ritr;
+ reportList reports;
std::string reportName;
- ReportsBase* reports;
time_t timestamp;
timestamp = time( NULL ); /* get current cal time */
- reports = new ReportsText(
- timestamp,
- symbolSetName,
- allExplanations,
- projectName,
- outputDirectory,
- symbolsToAnalyze,
- branchInfoAvailable
+ reports.emplace_back(
+ new ReportsText(
+ timestamp,
+ symbolSetName,
+ allExplanations,
+ projectName,
+ outputDirectory,
+ symbolsToAnalyze,
+ branchInfoAvailable
+ )
);
- reportList.push_back( reports );
- reports = new ReportsHtml(
- timestamp,
- symbolSetName,
- allExplanations,
- projectName,
- outputDirectory,
- symbolsToAnalyze,
- branchInfoAvailable
+ reports.emplace_back(
+ new ReportsHtml(
+ timestamp,
+ symbolSetName,
+ allExplanations,
+ projectName,
+ outputDirectory,
+ symbolsToAnalyze,
+ branchInfoAvailable
+ )
);
- reportList.push_back( reports );
- for ( ritr = reportList.begin(); ritr != reportList.end(); ritr++ ) {
- reports = *ritr;
+ for ( auto& report: reports ) {
- reportName = "index" + reports->ReportExtension();
+ reportName = "index" + report->ReportExtension();
if ( verbose ) {
std::cerr << "Generate " << reportName << std::endl;
}
- reports->WriteIndex( reportName );
+ report->WriteIndex( reportName );
- reportName = "annotated" + reports->ReportExtension();
+ reportName = "annotated" + report->ReportExtension();
if ( verbose ) {
std::cerr << "Generate " << reportName << std::endl;
}
- reports->WriteAnnotatedReport( reportName );
+ report->WriteAnnotatedReport( reportName );
- reportName = "branch" + reports->ReportExtension();
+ reportName = "branch" + report->ReportExtension();
if ( verbose ) {
std::cerr << "Generate " << reportName << std::endl;
}
- reports->WriteBranchReport( reportName );
+ report->WriteBranchReport( reportName );
- reportName = "uncovered" + reports->ReportExtension();
+ reportName = "uncovered" + report->ReportExtension();
if ( verbose ) {
std::cerr << "Generate " << reportName << std::endl;
}
- reports->WriteCoverageReport( reportName );
+ report->WriteCoverageReport( reportName );
- reportName = "sizes" + reports->ReportExtension();
+ reportName = "sizes" + report->ReportExtension();
if ( verbose ) {
std::cerr << "Generate " << reportName << std::endl;
}
- reports->WriteSizeReport( reportName );
+ report->WriteSizeReport( reportName );
- reportName = "symbolSummary" + reports->ReportExtension();
+ reportName = "symbolSummary" + report->ReportExtension();
if ( verbose ) {
std::cerr << "Generate " << reportName << std::endl;
}
- reports->WriteSymbolSummaryReport( reportName, symbolsToAnalyze );
- }
-
- for ( ritr = reportList.begin(); ritr != reportList.end(); ritr++ ) {
- reports = *ritr;
- delete reports;
+ report->WriteSymbolSummaryReport( reportName, symbolsToAnalyze );
}
ReportsBase::WriteSummaryReport(