81b69f306f
UnitTestFrameworkPkg: Expand host-based exception handling and gcov
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4683
Update MSFT CC_FLAGS for host-based unit tests to use /EHs
instead of /EHsc to support building C functions with SEH
(Structured Exception Handling) enabled. This is required to
build UnitTestDebugAssertLibHost.inf.
Update GCC CC_FLAGS for host-based unit tests to use -fexceptions
to support catching exceptions.
Update GoogleTestLib.h to include Throws() APIs that enable
unit tests to use EXPECT_THAT() to check for expected ASSERT()
conditions for a specific ASSERT() expression.
Update GCC CC_FLAGS to add --coverage for host-based builds
for all GCC tool chains.
Cc: Michael Kubacki <mikuback@linux.microsoft.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com >
2024-02-14 02:37:16 +00:00
1e27258a89
UnitTestFrameworkPkg: Apply uncrustify formatting to relevant files
...
Apply uncrustify formatting to GoogleTest cpp and header files.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Michael Kubacki <mikuback@linux.microsoft.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Signed-off-by: Vivian Nowka-Keane <vnowkakeane@linux.microsoft.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com >
2023-10-27 00:50:49 +00:00
d0252b8fc1
UnitTestFrameworkPkg: Add gmock support to GoogleTestLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4389
* Add gmock support to GoogleTestLib
* Add FunctionMockLib library class and library instance
* Add GoogleTest extension to GoogleTestLib.h for CHAR16 type
* Add GoogleTest extension to GoogleTestLib.h for buffer types
* HOST_APPLICATION only supports IA32/X64
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Kubacki <mikuback@linux.microsoft.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Chris Johnson <chris.n.johnson@intel.com >
Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Oliver Smith-Denny <osde@linux.microsoft.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2023-04-10 05:59:02 +00:00
0c6d851d25
UnitTestFrameworkPkg: Add subhook submodule required for gmock
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4389
Add subhook submodule that is required to hook internal functions
when using gmock.
https://github.com/Zeex/subhook
Add SubhookLib library class and SubhookLib library instance.
Include the SUBHOOK_STATIC define in the SubhookLib INF file so
it builds as a static library. Also include the SUBHOOK_STATIC
define in SubhookLib.h so all modules using SubhookLib properly
link SubhookLib as a static library.
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Michael Kubacki <mikuback@linux.microsoft.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Signed-off-by: Chris Johnson <chris.n.johnson@intel.com >
Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com >
Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Oliver Smith-Denny <osde@linux.microsoft.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2023-04-10 05:59:02 +00:00
1cd902f1f4
UnitTestFrameworkPkg: Modify APIs in UnitTestPersistenceLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4183
UnitTestPersistenceLib now consumes private struct definition.
Modify APIs in UnitTestPersistenceLib to make it easy to become
a public library.
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Michael Kubacki <mikuback@linux.microsoft.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
2022-12-14 13:34:33 +00:00
a1d5723914
UnitTestFrameworkPkg: Library classes private to public
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4178
* Change GoogleTestLib class from private to public.
* Change UnitTestPersistenceLib class from private to public.
Cc: Michael Kubacki <mikuback@linux.microsoft.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2022-12-01 21:01:21 +00:00
cef0c5c684
UnitTestFrameworkPkg: Add googletest submodule and GoogleTestLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4134
Add submodule for googletest and add GoogleTestLib that is
required for GoogleTest based unit tests. Add GoogleTest
documentation to Readme.md along with a port of the sample
unit test to the GoogleTest style.
A few typos in Readme.md are also fixed.
Cc: Michael Kubacki <mikuback@linux.microsoft.com >
Cc: Sean Brogan <sean.brogan@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 >
Reviewed-by: Michael Kubacki <mikuback@linux.microsoft.com >
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com >
2022-11-11 05:46:51 +00:00