From: Gua Guo <gua....@intel.com> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4443
Add Google Mock Library for PciHostBridgeLib Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Hao A Wu <hao.a...@intel.com> Cc: Ray Ni <ray...@intel.com> Cc: Chris Johnson <chris.n.john...@intel.com> Signed-off-by: Gua Guo <gua....@intel.com> --- MdeModulePkg/MdeModulePkg.dec | 1 + MdeModulePkg/Test/MdeModulePkgHostTest.dsc | 5 +++ .../GoogleTest/Library/MockPciHostBridgeLib.h | 40 +++++++++++++++++++ .../MockPciHostBridgeLib.cpp | 14 +++++++ .../MockPciHostBridgeLib.inf | 35 ++++++++++++++++ 5 files changed, 95 insertions(+) create mode 100644 MdeModulePkg/Test/Mock/Include/GoogleTest/Library/MockPciHostBridgeLib.h create mode 100644 MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.cpp create mode 100644 MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.inf diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 3eb4a79bf7..9bb0d3ba2d 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -24,6 +24,7 @@ [Includes] Include + Test/Mock/Include [Includes.Common.Private] Library/BrotliCustomDecompressLib/brotli/c/include diff --git a/MdeModulePkg/Test/MdeModulePkgHostTest.dsc b/MdeModulePkg/Test/MdeModulePkgHostTest.dsc index a2bbbe8adf..8fb982a270 100644 --- a/MdeModulePkg/Test/MdeModulePkgHostTest.dsc +++ b/MdeModulePkg/Test/MdeModulePkgHostTest.dsc @@ -53,3 +53,8 @@ UefiSortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf } + + # + # Build HOST_APPLICATION Libraries + # + MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.inf diff --git a/MdeModulePkg/Test/Mock/Include/GoogleTest/Library/MockPciHostBridgeLib.h b/MdeModulePkg/Test/Mock/Include/GoogleTest/Library/MockPciHostBridgeLib.h new file mode 100644 index 0000000000..a63bed895c --- /dev/null +++ b/MdeModulePkg/Test/Mock/Include/GoogleTest/Library/MockPciHostBridgeLib.h @@ -0,0 +1,40 @@ +/** @file + Google Test mocks for PciHostBridgeLib + + Copyright (c) 2023, Intel Corporation. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_PCI_HOST_BRIDGE_LIB_H_ +#define MOCK_PCI_HOST_BRIDGE_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> +extern "C" { +#include <Uefi.h> +#include <Library/PciHostBridgeLib.h> +} + +struct MockPciHostBridgeLib { + MOCK_INTERFACE_DECLARATION (MockPciHostBridgeLib); + + MOCK_FUNCTION_DECLARATION ( + PCI_ROOT_BRIDGE *, + PciHostBridgeGetRootBridges, + (UINTN *Count) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + PciHostBridgeFreeRootBridges, + (PCI_ROOT_BRIDGE *Bridges, + UINTN Count) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + PciHostBridgeResourceConflict, + (EFI_HANDLE HostBridgeHandle, + VOID *Configuration) + ); +}; + +#endif diff --git a/MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.cpp b/MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.cpp new file mode 100644 index 0000000000..4b15aed169 --- /dev/null +++ b/MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.cpp @@ -0,0 +1,14 @@ +/** @file + Mock instance of the PCI Host Bridge Library. + + Copyright (c) 2023, Intel Corporation. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include <GoogleTest/Library/MockPciHostBridgeLib.h> + +MOCK_INTERFACE_DEFINITION(MockPciHostBridgeLib); + +MOCK_FUNCTION_DEFINITION(MockPciHostBridgeLib, PciHostBridgeGetRootBridges, 1, EFIAPI); +MOCK_FUNCTION_DEFINITION(MockPciHostBridgeLib, PciHostBridgeFreeRootBridges, 2, EFIAPI); +MOCK_FUNCTION_DEFINITION(MockPciHostBridgeLib, PciHostBridgeResourceConflict, 2, EFIAPI); diff --git a/MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.inf b/MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.inf new file mode 100644 index 0000000000..ad4edec73e --- /dev/null +++ b/MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.inf @@ -0,0 +1,35 @@ +## @file +# Mock instance of the PCI Host Bridge Library. +# +# Copyright (c) 2023, Intel Corporation. All rights reserved. +# SPDX-License-Identifier: BSD-2-Clause-Patent +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = MockPciHostBridgeLib + FILE_GUID = B51721FE-0BBA-4611-B9A5-ED13C49AC060 + MODULE_TYPE = HOST_APPLICATION + VERSION_STRING = 1.0 + LIBRARY_CLASS = PciHostBridgeLib + +# +# The following information is for reference only and not required by the build +# tools. +# +# VALID_ARCHITECTURES = IA32 X64 EBC +# + +[Sources] + MockPciHostBridgeLib.cpp + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec + +[LibraryClasses] + GoogleTestLib + +[BuildOptions] + MSFT:*_*_*_CC_FLAGS = /EHsc -- 2.39.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104279): https://edk2.groups.io/g/devel/message/104279 Mute This Topic: https://groups.io/mt/98764727/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-