[edk2-devel] [Patch v3 0/7] Add GoogleTest to UnitTestFrameworkPkg

Michael D Kinney posted 7 patches 1 year, 5 months ago
Failed in applying to current master (apply log)
.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
[edk2-devel] [Patch v3 0/7] Add GoogleTest to UnitTestFrameworkPkg
Posted by Michael D Kinney 1 year, 5 months ago
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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#96112): https://edk2.groups.io/g/devel/message/96112
Mute This Topic: https://groups.io/mt/94902388/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
FW: [edk2-devel] [Patch v3 0/7] Add GoogleTest to UnitTestFrameworkPkg
Posted by Michael D Kinney 1 year, 5 months ago
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








-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#96219): https://edk2.groups.io/g/devel/message/96219
Mute This Topic: https://groups.io/mt/94950010/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


回复: [edk2-devel] [Patch v3 0/7] Add GoogleTest to UnitTestFrameworkPkg
Posted by gaoliming via groups.io 1 year, 5 months ago
Mike:
  Since there is no big change in soft feature freeze phase, I agree to merge it for this stable tag.  

Thanks
Liming
> -----邮件原件-----
> 发件人: Kinney, Michael D <michael.d.kinney@intel.com>
> 发送时间: 2022年11月11日 9:10
> 收件人: Gao, Liming <gaoliming@byosoft.com.cn>; Kinney, Michael D
> <michael.d.kinney@intel.com>; devel@edk2.groups.io
> 主题: FW: [edk2-devel] [Patch v3 0/7] Add GoogleTest to
> UnitTestFrameworkPkg
> 
> 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.i
> nf
>  create mode 100644
> MdePkg/Test/GoogleTest/Library/BaseSafeIntLib/GoogleTestBaseSafeIntLib.u
> ni
>  create mode 100644
> MdePkg/Test/GoogleTest/Library/BaseSafeIntLib/SafeIntLibUintnIntnUnitTest
> s32.cpp
>  create mode 100644
> MdePkg/Test/GoogleTest/Library/BaseSafeIntLib/SafeIntLibUintnIntnUnitTest
> s64.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/SampleG
> oogleTest.cpp
>  create mode 100644
> UnitTestFrameworkPkg/Test/GoogleTest/Sample/SampleGoogleTest/SampleG
> oogleTestHost.inf
> 
> --
> 2.37.1.windows.1
> 
> 
> 
> 
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#96221): https://edk2.groups.io/g/devel/message/96221
Mute This Topic: https://groups.io/mt/94950459/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-