Hi Gua,
Thanks!!!
The results for both VS and GCC builds in Azure look really good.
It even visually shows some branches and APIs calls missing coverage in the unit tests for the
SafeIntLib.
https://dev.azure.com/tianocore/edk2-ci/_build/results?buildId=75036&view=codecoverage-tab
Search for “SafeIntLib”
Mike
From: Guo, Gua <gua.guo@intel.com>
Sent: Monday, January 2, 2023 3:57 AM
To: devel@edk2.groups.io; Guo, Gua <gua.guo@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Michael Kubacki <mikuback@linux.microsoft.com>
Subject: RE: [edk2-devel] [PATCH v8 0/3] Add code coverage support for GCC/MSVC
@Kinney, Michael D and
@Michael Kubacki everything fix now.
Leverage ReportGenerator
https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator to create code coverage pipeline.
PR:
https://github.com/tianocore/edk2/pull/3349
“Job2 (Build Agent : windows-2019)” must require for Windows build agent because ReportGenerator is “Windows dot-net” specific. So I add some dependency to let it support for both GCC5 and VS2019.
Thanks,
Gua
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Guo, Gua
Sent: Monday, January 2, 2023 7:25 PM
To: devel@edk2.groups.io
Cc: Guo, Gua <gua.guo@intel.com>
Subject: [edk2-devel] [PATCH v8 0/3] Add code coverage support for GCC/MSVC
From: Gua Guo <gua.guo@intel.com>
V1: Add coverage option for GCC
V2: Add ReadMe.md for how to generate coverage report
V3: Add VS2019 and GCC code coverage support
V4: Add VS2019 and GCC Azure CI/CD support
V5: Fix some typo and some flow issue
V6: Remove html coverage information
- Due to python 3.11 install lxml will be failure,
pycobertura need it to convert cobertura format to
html file.
- Add section for developer how to use OpenCppCoverage
on IDE Visual Studio
V7: Remove redundant code and add code coverage pipeline support
- Remove redundant code on HostBasedUnitTestRunner.py
- Unify coding rule on HostBasedUnitTestRunner.py
- Add CodeCoverage Azure pipeline support for GCC5 and VS2019
Gua Guo (3):
UnitTestFrameworkPkg: Add code coverage support for GCC
BaseTools/Plugin: Add coverage support for Unit Test
.azurepipelines: Install code coverage tool
.azurepipelines/Ubuntu-GCC5.yml | 5 +-
.azurepipelines/Windows-VS2019.yml | 5 +
.../templates/pr-gate-build-job.yml | 36 +++++++
.azurepipelines/templates/pr-gate-steps.yml | 4 +
.../HostBasedUnitTestRunner.py | 101 +++++++++++++++++-
UnitTestFrameworkPkg/ReadMe.md | 41 +++++++
.../UnitTestFrameworkPkg.ci.yaml | 1 +
.../UnitTestFrameworkPkgHost.dsc.inc | 3 +-
pip-requirements.txt | 2 +
9 files changed, 195 insertions(+), 3 deletions(-)
--
2.31.1.windows.1