From: "VivianNK" <vnowkakeane@linux.microsoft.com>
To: devel@edk2.groups.io
Cc: Eric Dong <eric.dong@intel.com>, Liming Gao <gaoliming@byosoft.com.cn>
Subject: [edk2-devel] [PATCH v1 1/1] BoardModulePkg: Added Mock library for BiosIdLib
Date: Wed, 8 May 2024 13:32:27 -0700 [thread overview]
Message-ID: <20240508203227.1788-2-vnowkakeane@linux.microsoft.com> (raw)
In-Reply-To: <20240508203227.1788-1-vnowkakeane@linux.microsoft.com>
From: Bhavani Subramanian <v-bhavanisu@microsoft.com>
Added a gmock for GoogleTests that pull in BiosIdLib.
Cc: Eric Dong <eric.dong@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Vivian Nowka-Keane <vnowkakeane@linux.microsoft.com>
---
Platform/Intel/BoardModulePkg/BoardModulePkg.dec | 1 +
Platform/Intel/BoardModulePkg/Test/BoardModulePkgHostTest.dsc | 32 +++++++++++++++++++
Platform/Intel/BoardModulePkg/Test/Mock/Include/GoogleTest/Library/MockBiosIdLib.h | 31 ++++++++++++++++++
Platform/Intel/BoardModulePkg/Test/Mock/Library/GoogleTest/MockBiosIdLib/MockBiosIdLib.cpp | 11 +++++++
Platform/Intel/BoardModulePkg/Test/Mock/Library/GoogleTest/MockBiosIdLib/MockBiosIdLib.inf | 33 ++++++++++++++++++++
5 files changed, 108 insertions(+)
diff --git a/Platform/Intel/BoardModulePkg/BoardModulePkg.dec b/Platform/Intel/BoardModulePkg/BoardModulePkg.dec
index 26e662f711d1..5efb1a0348ff 100644
--- a/Platform/Intel/BoardModulePkg/BoardModulePkg.dec
+++ b/Platform/Intel/BoardModulePkg/BoardModulePkg.dec
@@ -22,6 +22,7 @@
[Includes]
Include
+ Test/Mock/Include # MU_CHANGE
[LibraryClasses]
## @libraryclass Provide services to access CMOS area.
diff --git a/Platform/Intel/BoardModulePkg/Test/BoardModulePkgHostTest.dsc b/Platform/Intel/BoardModulePkg/Test/BoardModulePkgHostTest.dsc
new file mode 100644
index 000000000000..846a1e9f8b33
--- /dev/null
+++ b/Platform/Intel/BoardModulePkg/Test/BoardModulePkgHostTest.dsc
@@ -0,0 +1,32 @@
+## @file BoardModulePkgHostTest.dsc
+#
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+# Description
+#
+##
+
+[Defines]
+PLATFORM_NAME = BoardModulePkgHostTest
+PLATFORM_GUID = 67275336-A324-4F69-BD38-70A4C7898F06
+PLATFORM_VERSION = 0.1
+DSC_SPECIFICATION = 0x00010005
+OUTPUT_DIRECTORY = Build/BoardModulePkg/HostTest
+SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64
+BUILD_TARGETS = NOOPT
+SKUID_IDENTIFIER = DEFAULT
+
+!include UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
+
+[LibraryClasses]
+
+[Components]
+ #
+ # List of Unit test packages
+ #
+
+ #
+ # Build HOST_APPLICATION Libraries With GoogleTest
+ #
+ BoardModulePkg/Test/Mock/Library/GoogleTest/MockBiosIdLib/MockBiosIdLib.inf
diff --git a/Platform/Intel/BoardModulePkg/Test/Mock/Include/GoogleTest/Library/MockBiosIdLib.h b/Platform/Intel/BoardModulePkg/Test/Mock/Include/GoogleTest/Library/MockBiosIdLib.h
new file mode 100644
index 000000000000..8f8a82da2807
--- /dev/null
+++ b/Platform/Intel/BoardModulePkg/Test/Mock/Include/GoogleTest/Library/MockBiosIdLib.h
@@ -0,0 +1,31 @@
+/** @file MockBiosIdLib.h
+ Google Test mocks for BiosIdLib
+
+ Copyright (c) Microsoft Corporation.
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef MOCK_BIOS_ID_LIB_H_
+#define MOCK_BIOS_ID_LIB_H_
+
+#include <Library/GoogleTestLib.h>
+#include <Library/FunctionMockLib.h>
+extern "C" {
+ #include <Uefi.h>
+ #include <Pi/PiBootMode.h>
+ #include <Library/BiosIdLib.h>
+}
+
+struct MockBiosIdLib {
+ MOCK_INTERFACE_DECLARATION (MockBiosIdLib);
+
+ MOCK_FUNCTION_DECLARATION (
+ EFI_STATUS,
+ GetBiosId,
+ (
+ OUT BIOS_ID_IMAGE *BiosIdImage OPTIONAL
+ )
+ );
+};
+
+#endif
diff --git a/Platform/Intel/BoardModulePkg/Test/Mock/Library/GoogleTest/MockBiosIdLib/MockBiosIdLib.cpp b/Platform/Intel/BoardModulePkg/Test/Mock/Library/GoogleTest/MockBiosIdLib/MockBiosIdLib.cpp
new file mode 100644
index 000000000000..8b64e8a66acd
--- /dev/null
+++ b/Platform/Intel/BoardModulePkg/Test/Mock/Library/GoogleTest/MockBiosIdLib/MockBiosIdLib.cpp
@@ -0,0 +1,11 @@
+/** @file MockBiosIdLib.cpp
+ Google Test mocks for BiosIdLib
+
+ Copyright (c) Microsoft Corporation.
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <GoogleTest/Library/MockBiosIdLib.h>
+
+MOCK_INTERFACE_DEFINITION (MockBiosIdLib);
+MOCK_FUNCTION_DEFINITION (MockBiosIdLib, GetBiosId, 1, EFIAPI);
diff --git a/Platform/Intel/BoardModulePkg/Test/Mock/Library/GoogleTest/MockBiosIdLib/MockBiosIdLib.inf b/Platform/Intel/BoardModulePkg/Test/Mock/Library/GoogleTest/MockBiosIdLib/MockBiosIdLib.inf
new file mode 100644
index 000000000000..f60bc3724f6a
--- /dev/null
+++ b/Platform/Intel/BoardModulePkg/Test/Mock/Library/GoogleTest/MockBiosIdLib/MockBiosIdLib.inf
@@ -0,0 +1,33 @@
+## @file MockBiosIdLib.inf
+# Google Test mocks for BiosIdLib
+#
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = MockBiosIdLib
+ FILE_GUID = FD03FA6D-7447-499C-B3AF-D89450F7739A
+ MODULE_TYPE = HOST_APPLICATION
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = BiosIdLib
+ PI_SPECIFICATION_VERSION = 0x0001000A
+
+#
+# VALID_ARCHITECTURES = IA32 X64
+#
+
+[Sources]
+ MockBiosIdLib.cpp
+
+[Packages]
+ MdePkg/MdePkg.dec
+ UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
+ BoardModulePkg/BoardModulePkg.dec
+
+[LibraryClasses]
+ GoogleTestLib
+
+[BuildOptions]
+ MSFT:*_*_*_CC_FLAGS = /EHsc
--
2.43.0.windows.1
next prev parent reply other threads:[~2024-05-08 20:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-08 20:32 [edk2-devel] [PATCH v1 0/1] Add MockBiosIdLib to BoardModulePkg VivianNK
2024-05-08 20:32 ` VivianNK [this message]
2024-05-15 0:32 ` [edk2-devel] [PATCH v1 1/1] BoardModulePkg: Added Mock library for BiosIdLib Nate DeSimone
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=20240508203227.1788-2-vnowkakeane@linux.microsoft.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