You means "```" to "```inf ", it just make markdown file more readability only.

Thanks,
Gua
-----Original Message-----
From: Michael Kubacki <mikub...@linux.microsoft.com> 
Sent: Wednesday, December 21, 2022 11:41 AM
To: Guo, Gua <gua....@intel.com>; devel@edk2.groups.io
Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Sean Brogan 
<sean.bro...@microsoft.com>; Barkelew, Bret <bret.barke...@microsoft.com>
Subject: Re: [PATCH 1/3] UnitTestFrameworkPkg: Add code coverage support for GCC

I'm not sure if you added some extra new lines in the markdown file to help 
with readability in the raw markdown or they were accidental, but I think they 
can be eliminated.

Reviewed-by: Michael Kubacki <michael.kuba...@microsoft.com>

On 9/29/2022 9:53 PM, gua....@intel.com wrote:
> From: Gua Guo <gua....@intel.com>
> 
> In order to collect code coverage after running executable file, 
> generate *.gcda and *.gcno file that require by lcov tool to generate 
> code coverage report.
> 
> Cc: Michael D Kinney <michael.d.kin...@intel.com>
> Cc: Sean Brogan <sean.bro...@microsoft.com>
> Cc: Bret Barkelew <bret.barke...@microsoft.com>
> Cc: Michael Kubacki <mikub...@linux.microsoft.com>
> Signed-off-by: Gua Guo <gua....@intel.com>
> ---
>   UnitTestFrameworkPkg/ReadMe.md                | 37 +++++++++++++++++--
>   .../UnitTestFrameworkPkg.ci.yaml              |  2 +
>   .../UnitTestFrameworkPkgHost.dsc.inc          |  3 +-
>   3 files changed, 38 insertions(+), 4 deletions(-)
> 
> diff --git a/UnitTestFrameworkPkg/ReadMe.md 
> b/UnitTestFrameworkPkg/ReadMe.md index e696412cb3..c00e2411f8 100644
> --- a/UnitTestFrameworkPkg/ReadMe.md
> +++ b/UnitTestFrameworkPkg/ReadMe.md
> @@ -60,7 +60,7 @@ you should be good to go.
>   
> 
>   See this example in 'SampleUnitTestUefiShell.inf'...
> 
>   
> 
> -```
> 
> +```inf
> 
>   [Packages]
> 
>     MdePkg/MdePkg.dec
> 
>   
> 
> @@ -75,7 +75,7 @@ See this example in 'SampleUnitTestUefiShell.inf'...
>   Also, if you want you test to automatically be picked up by the Test 
> Runner plugin, you will need
> 
>   to make sure that the module `BASE_NAME` contains the word `Test`...
> 
>   
> 
> -```
> 
> +```inf
> 
>   [Defines]
> 
>     BASE_NAME      = SampleUnitTestUefiShell
> 
>   ```
> 
> @@ -361,7 +361,7 @@ RUNNING TEST SUITE: Int Safe Conversions Test Suite
>   ```
> 
>   
> 
>   You can also, if you are so inclined, read the output from the exact 
> instance of the test that was run during
> 
> -`stuart_ci_build`. The ouput file can be found on a path that looks like:
> 
> +`stuart_ci_build`. The output file can be found on a path that looks like:
> 
>   
> 
>   
> `Build/<Package>/HostTest/<Arch>/<TestName>.<TestSuiteName>.<Arch>.res
> ult.xml`
> 
>   
> 
> @@ -399,6 +399,37 @@ CMOCKA_XML_FILE=<absolute or relative path to 
> output file>
>   
> 
>   This mode is used by the test running plugin to aggregate the results for 
> CI test status reporting in the web view.
> 
>   
> 
> +### Code Coverage
> 
> +
> 
> +Host based Unit Tests will automatically enable coverage data.
> 
> +
> 
> +For Windows, This is primarily leverage for pipeline builds, but this 
> +can be leveraged locally using the
> 
> +OpenCppCoverage windows tool, and pycobertura is used to covert this 
> +coverage data to a human readable HTML
> 
> +file. These tools must be installed to parse code coverage.
> 
> +
> 
> +- Windows Prerequisite
> 
> +  ```bash
> 
> +  Download and install 
> + https://github.com/OpenCppCoverage/OpenCppCoverage/tags
> 
> +  python -m pip install --upgrade -r ./pip-requirements.txt
> 
> +  stuart_ci_build -c .pytool/CISettings.py  -t NOOPT 
> + TOOL_CHAIN_TAG=VS2019 -p MdeModulePkg
> 
> +  Open Build/coverage.html
> 
> +  ```
> 
> +
> 
> +
> 
> +For Linux, This is primarily leveraged for pipeline builds, but this 
> +can be leveraged locally using the
> 
> +lcov linux tool, and parsed using the lcov_cobertura python tool. 
> +pycobertura is used to
> 
> +covert this coverage data to a human readable HTML file. These tools 
> +must be installed
> 
> +to parse code coverage.
> 
> +
> 
> +- Linux Prerequisite
> 
> +  ```bash
> 
> +  sudo apt-get install -y lcov
> 
> +  python -m pip install --upgrade -r ./pip-requirements.txt
> 
> +  stuart_ci_build -c .pytool/CISettings.py  -t NOOPT 
> + TOOL_CHAIN_TAG=GCC5 -p MdeModulePkg
> 
> +  Open Build/coverage.html
> 
> +  ```
> 
> +
> 
> +
> 
>   ### Important Note
> 
>   
> 
>   This works on both Windows and Linux, but is currently limited to 
> x64 architectures. Working on getting others, but we
> 
> diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml 
> b/UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml
> index 77d51e1348..f68882e1cf 100644
> --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml
> +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkg.ci.yaml
> @@ -90,6 +90,8 @@
>               "pytools",
> 
>               "NOFAILURE",
> 
>               "cmockery",
> 
> +            "cobertura",
> 
> +            "pycobertura",
> 
>               "DHAVE", # build flag for cmocka in the INF
> 
>               "corthon",      # Contact GitHub account in Readme
> 
>               "mdkinney",     # Contact GitHub account in Readme
> 
> diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc 
> b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
> index 4dd8d4ac67..ca46b8513a 100644
> --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
> +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
> @@ -25,7 +25,8 @@
>     GCC:*_*_*_CC_FLAGS   = -D UNIT_TESTING_DEBUG=1
> 
>     XCODE:*_*_*_CC_FLAGS = -D UNIT_TESTING_DEBUG=1
> 
>   !endif
> 
> -
> 
> +  GCC:*_GCC5_*_CC_FLAGS = --coverage
> 
> +  GCC:*_GCC5_*_DLINK_FLAGS = --coverage
> 
>   [BuildOptions.common.EDKII.HOST_APPLICATION]
> 
>     #
> 
>     # MSFT
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97661): https://edk2.groups.io/g/devel/message/97661
Mute This Topic: https://groups.io/mt/94008685/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to