Michael D Kinney
2d144d7e14
UnitTestFrameworkPkg/UnitTestDebugAssertLib: Add GoogleTest support
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4683
Add an C++ implementation of UnitTestDebugAssert() API for
host-based environments. GoogleTest based environments throw
a C++ exception of type std::runtime_error when an ASSERT() is
triggered with a description that contains the filename, line
number, and the expression that triggered the ASSERT().
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
Vivian Nowka-Keane
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
Chris Johnson
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
Chris Johnson
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
Michael D Kinney
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
Michael Kubacki
7c0ad2c338
UnitTestFrameworkPkg: Apply uncrustify changes
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737
Apply uncrustify changes to .c/.h files in the UnitTestFrameworkPkg package
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com >
2021-12-07 17:24:28 +00:00
Michael D Kinney
5d29e2d020
UnitTestFramewokPkg/SampleUnitTest: Use UT_EXPECT_ASSERT_FAILURE()
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2801
Add samples for all UnitTestLib macros including using
UT_EXPECT_ASSERT_FAILURE() for positive test cases where an
ASSERT() is triggered and detected correctly.
Additional test cases are added that disable ASSERT()s and
verify that UT_EXPECT_ASSERT_FAILURE() macros are skipped.
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2020-07-15 05:25:21 +00:00
Michael D Kinney
26824851b0
UnitTestFrameworkPkg/UnitTestLib: Add checks for ASSERT()
...
REF: REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2801
Add UnitTestDebugAssertLib that provides the UnitTestDebugAssert()
service and the gUnitTestExpectAssertFailureJumpBuffer global
variable. This NULL library is linked against all host and target
unit test builds. This guarantees that the UnitTestDebugAssert()
service is available to link against all libraries and modules that
use the DebugLib class.
EDKII_UNIT_TEST_FRAMEWORK_ENABLED must always be defined when
building unit tests so the behavior of the DebugLib ASSERT()
macros can be adjusted to allow the unit test framework to
catch an ASSERT() if it is triggered by a function under test.
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com >
2020-07-15 05:25:21 +00:00
Michael D Kinney
3e61b953b7
UnitTestFrameworkPkg: Add DSC, DSC INC, and YAML files
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2505
* DSC in root of package file to perform a package
build of the UnitTestFrameworkPkg and build sample
unit test for all supported target environments.
* DSC file in Test directory to build the sample
unit test for the host environment.
* UnitTestFrameworkPkgTarget.dsc.inc - DSC include
file to !include when building unit tests for
target environments.
* UnitTestFrameworkPkgHost.dsc.inc - DSC include
file to !include when building unit tests for
target environments.
* YAML file with set of CI checks to perform on UnitTestFrameworkPkg.
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com >
Reviewed-by: Sean Brogan <sean.brogan@microsoft.com >
2020-02-07 19:18:53 +00:00
Michael D Kinney
f74abe4a2c
UnitTestFrameworkPkg/Test: Add unit test samples
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2505
Add an implementation of a sample unit test that
demonstrates the use of the UnitTestLib services and
macros and supports being built for execution in a
host environment or for execution on a target in PEI,
DXE, SMM, or UEFI Shell.
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com >
2020-02-07 19:18:53 +00:00