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

Method RunCoverage

CppCoverage/CodeCoverageRunner.cpp:63–93  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

61
62 //-------------------------------------------------------------------------
63 Plugin::CoverageData CodeCoverageRunner::RunCoverage(
64 const RunCoverageSettings& settings)
65 {
66 Debugger debugger{ settings.GetCoverChildren(), settings.GetContinueAfterCppException(), settings.GetStopOnAssert()};
67
68 coverageFilterManager_ = std::make_shared<CoverageFilterManager>(
69 settings.GetCoverageFilterSettings(),
70 settings.GetUnifiedDiffSettings(),
71 settings.GetExcludedLineRegexes(),
72 settings.GetOptimizedBuildSupport());
73
74 monitoredLineRegister_ = std::make_unique<MonitoredLineRegister>(
75 breakpoint_,
76 executedAddressManager_,
77 coverageFilterManager_,
78 std::make_unique<DebugInformationEnumerator>(settings.GetSubstitutePdbSourcePaths()),
79 filterAssistant_);
80
81 const auto& startInfo = settings.GetStartInfo();
82 int exitCode = debugger.Debug(startInfo, *this);
83 const auto& path = startInfo.GetPath();
84
85 auto warningMessageLines = coverageFilterManager_->ComputeWarningMessageLines(
86 settings.GetMaxUnmatchPathsForWarning());
87 for (const auto& line : warningMessageLines)
88 LOG_WARNING << line;
89 auto filterAdviceMessage = filterAssistant_->GetAdviceMessage();
90 if (filterAdviceMessage)
91 warningManager_->AddWarning(*filterAdviceMessage);
92 return executedAddressManager_->CreateCoverageData(path.filename().wstring(), exitCode);
93 }
94
95 //-------------------------------------------------------------------------
96 void CodeCoverageRunner::OnCreateProcess(const CREATE_PROCESS_DEBUG_INFO& processDebugInfo)

Callers 2

RunFunction · 0.80

Calls 11

GetCoverChildrenMethod · 0.80
GetStopOnAssertMethod · 0.80
GetStartInfoMethod · 0.80
DebugMethod · 0.80
GetAdviceMessageMethod · 0.80
AddWarningMethod · 0.80
CreateCoverageDataMethod · 0.80

Tested by 1