MCPcopy Create free account
hub / github.com/OpenCppCoverage/OpenCppCoverage / FillCoverageTree

Function FillCoverageTree

Exporter/CoberturaExporter.cpp:131–164  ·  view source on GitHub ↗

-------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

129
130 //-------------------------------------------------------------------------
131 void FillCoverageTree(
132 property_tree::wptree& root,
133 const Plugin::CoverageData& coverageData)
134 {
135 CppCoverage::CoverageRateComputer coverageRateComputer(coverageData);
136 auto& coverageTree = AddChild(root, L"coverage");
137 const auto& coverageRate = coverageRateComputer.GetCoverageRate();
138 SetCoverage(coverageTree, coverageRate);
139 SetCoverageAttributes(coverageTree, coverageRate);
140
141 WriteSourceRoots(coverageData, coverageTree);
142
143 property_tree::wptree& packagesTree = AddChild(coverageTree, L"packages");
144
145 for (const auto& module : coverageData.GetModules())
146 {
147 // Do not create package if no files exists -> Coverage will not be visible by module
148 if (!module->GetFiles().empty())
149 {
150 property_tree::wptree& packageTree = AddChild(packagesTree, L"package");
151 property_tree::wptree& classesTree = AddChild(packageTree, L"classes");
152 const auto& coverageRate = coverageRateComputer.GetCoverageRate(*module);
153
154 packageTree.put(L"<xmlattr>.name", ToUft8WString(module->GetPath()));
155 SetCoverage(packageTree, coverageRate);
156
157 for (const auto& file : module->GetFiles())
158 {
159 property_tree::wptree& fileTree = AddChild(classesTree, L"class");
160 FillFileTree(coverageRateComputer, fileTree, *file);
161 }
162 }
163 }
164 }
165 }
166
167 //-------------------------------------------------------------------------

Callers 1

ExportMethod · 0.85

Calls 5

SetCoverageFunction · 0.85
SetCoverageAttributesFunction · 0.85
WriteSourceRootsFunction · 0.85
ToUft8WStringFunction · 0.85
FillFileTreeFunction · 0.85

Tested by

no test coverage detected