From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "Gao, Liming" <gaoliming@byosoft.com.cn>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Subject: FW: [edk2-devel] [Patch v3 0/7] Add GoogleTest to UnitTestFrameworkPkg
Date: Fri, 11 Nov 2022 01:09:47 +0000 [thread overview]
Message-ID: <CO1PR11MB492993A6FBDA52CDF9608A5AD2009@CO1PR11MB4929.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20221108231252.1864-1-michael.d.kinney@intel.com>
Liming,
The review for adding GoogleTest support to the UnitTestFrameworkPkg was started
before Soft Freeze and only had some minor documentation updates during the Soft Freeze.
I would like to request this PR be merged for the stable tag.
https://github.com/tianocore/edk2/pull/3595
It has all the commit messages updated with Rb/Ab and passes all CI checks.
Thanks,
Mike
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael D Kinney
Sent: Tuesday, November 8, 2022 3:13 PM
To: devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; Feng, Bob C <bob.c.feng@intel.com>; Chen, Christine <yuwei.chen@intel.com>; Sean Brogan <sean.brogan@microsoft.com>; Michael Kubacki <mikuback@linux.microsoft.com>; Andrew Fish <afish@apple.com>; Leif Lindholm <quic_llindhol@quicinc.com>
Subject: [edk2-devel] [Patch v3 0/7] Add GoogleTest to UnitTestFrameworkPkg
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4134
Add GoogleTest support to UnitTestFrameworkPkg to provide an
additional host-based unit test framework to developers.
Code: https://github.com/google/googletest
Docs: https://google.github.io/googletest
GoogleTest is implemented in C++, but does support implementing
unit tests for C code. This patch series makes a few updates for C++
compatibility and build issues related to multiple definitions of _ASSERT().
The GoogleTest git submodule is added to the UnitTestFrameworkPkg
and .pytools/CISettings.py file along with an update to the host-based
test runner plugin to set the GTEST_OUTPUT environment variable to
specify the XML output file format and location.
A port of the unit tests for the the MdePkg BaseSafeIntLib are included
to provide an example that is in both the current unit test style and the
GoogleTest style.
New in V2
---------
* Update maintainers/reviewers
* Add feature table to Readme.md and fix typos
New in V3
---------
* Add link to googletest license file to Readme.rst
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Michael Kubacki <mikuback@linux.microsoft.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Michael D Kinney (7):
MdePkg/Include: Update Base.h to improve C++ compatibility
MdePkg/Include/Library: Undefine _ASSERT() if already defined
UnitTestFrameworkPkg: Add googletest submodule and GoogleTestLib
UnitTestFrameworkPkg/Library/CmockaLib: Generate symbol information
.pytool: Add googletest submodule to CISettings.py
BaseTools/Plugin/HostBaseUnitTestRunner: Enable gtest xml output
MdePkg/Test: Add port of BaseSafeIntLib unit tests to GoogleTest
.gitmodules | 3 +
.pytool/CISettings.py | 2 +
.../HostBasedUnitTestRunner.py | 7 +-
MdePkg/Include/Base.h | 12 +-
MdePkg/Include/Library/DebugLib.h | 3 +
.../GoogleTestBaseSafeIntLib.inf | 37 +
.../GoogleTestBaseSafeIntLib.uni | 13 +
.../SafeIntLibUintnIntnUnitTests32.cpp | 425 +++
.../SafeIntLibUintnIntnUnitTests64.cpp | 429 ++++
.../BaseSafeIntLib/TestBaseSafeIntLib.cpp | 2274 +++++++++++++++++
MdePkg/Test/MdePkgHostTest.dsc | 1 +
ReadMe.rst | 1 +
.../Include/Library/GoogleTestLib.h | 14 +
.../Library/CmockaLib/CmockaLib.inf | 2 +-
.../Library/GoogleTestLib/GoogleTestLib.inf | 36 +
.../Library/GoogleTestLib/GoogleTestLib.uni | 14 +
.../Library/GoogleTestLib/googletest | 1 +
UnitTestFrameworkPkg/ReadMe.md | 255 +-
.../SampleGoogleTest/SampleGoogleTest.cpp | 263 ++
.../SampleGoogleTest/SampleGoogleTestHost.inf | 35 +
.../Test/UnitTestFrameworkPkgHostTest.dsc | 4 +-
.../UnitTestFrameworkPkg.ci.yaml | 4 +-
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec | 8 +
.../UnitTestFrameworkPkgHost.dsc.inc | 4 +-
24 files changed, 3811 insertions(+), 36 deletions(-)
create mode 100644 MdePkg/Test/GoogleTest/Library/BaseSafeIntLib/GoogleTestBaseSafeIntLib.inf
create mode 100644 MdePkg/Test/GoogleTest/Library/BaseSafeIntLib/GoogleTestBaseSafeIntLib.uni
create mode 100644 MdePkg/Test/GoogleTest/Library/BaseSafeIntLib/SafeIntLibUintnIntnUnitTests32.cpp
create mode 100644 MdePkg/Test/GoogleTest/Library/BaseSafeIntLib/SafeIntLibUintnIntnUnitTests64.cpp
create mode 100644 MdePkg/Test/GoogleTest/Library/BaseSafeIntLib/TestBaseSafeIntLib.cpp
create mode 100644 UnitTestFrameworkPkg/Include/Library/GoogleTestLib.h
create mode 100644 UnitTestFrameworkPkg/Library/GoogleTestLib/GoogleTestLib.inf
create mode 100644 UnitTestFrameworkPkg/Library/GoogleTestLib/GoogleTestLib.uni
create mode 160000 UnitTestFrameworkPkg/Library/GoogleTestLib/googletest
create mode 100644 UnitTestFrameworkPkg/Test/GoogleTest/Sample/SampleGoogleTest/SampleGoogleTest.cpp
create mode 100644 UnitTestFrameworkPkg/Test/GoogleTest/Sample/SampleGoogleTest/SampleGoogleTestHost.inf
--
2.37.1.windows.1
next prev parent reply other threads:[~2022-11-11 1:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-08 23:12 [Patch v3 0/7] Add GoogleTest to UnitTestFrameworkPkg Michael D Kinney
2022-11-08 23:12 ` [Patch v3 1/7] MdePkg/Include: Update Base.h to improve C++ compatibility Michael D Kinney
2022-11-08 23:12 ` [Patch v3 2/7] MdePkg/Include/Library: Undefine _ASSERT() if already defined Michael D Kinney
2022-11-08 23:12 ` [Patch v3 3/7] UnitTestFrameworkPkg: Add googletest submodule and GoogleTestLib Michael D Kinney
2022-11-09 18:55 ` Leif Lindholm
2022-11-08 23:12 ` [Patch v3 4/7] UnitTestFrameworkPkg/Library/CmockaLib: Generate symbol information Michael D Kinney
2022-11-08 23:12 ` [Patch v3 5/7] .pytool: Add googletest submodule to CISettings.py Michael D Kinney
2022-11-08 23:12 ` [Patch v3 6/7] BaseTools/Plugin/HostBaseUnitTestRunner: Enable gtest xml output Michael D Kinney
2022-11-08 23:12 ` [Patch v3 7/7] MdePkg/Test: Add port of BaseSafeIntLib unit tests to GoogleTest Michael D Kinney
2022-11-11 1:09 ` Michael D Kinney [this message]
2022-11-11 1:32 ` 回复: [edk2-devel] [Patch v3 0/7] Add GoogleTest to UnitTestFrameworkPkg gaoliming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CO1PR11MB492993A6FBDA52CDF9608A5AD2009@CO1PR11MB4929.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox