[edk2-devel] [PATCH v1] MdePkg: Add UefiBootServicesTableLib gmock support

lakx.huang@intel.com posted 1 patch 10 months, 2 weeks ago
Failed in applying to current master (apply log)
MdePkg/Test/MdePkgHostTest.dsc                |  1 +
.../Library/MockUefiBootServicesTableLib.h    | 71 ++++++++++++++++++
.../MockUefiBootServicesTableLib.cpp          | 75 +++++++++++++++++++
.../MockUefiBootServicesTableLib.inf          | 33 ++++++++
4 files changed, 180 insertions(+)
create mode 100644 MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.h
create mode 100644 MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.cpp
create mode 100644 MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.inf
[edk2-devel] [PATCH v1] MdePkg: Add UefiBootServicesTableLib gmock support
Posted by lakx.huang@intel.com 10 months, 2 weeks ago
From: LakX Huang <lakx.huang@intel.com>

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4485

Add Google Mock Library for UefiBootServicesTableLib

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>

Signed-off-by: LakX Huang <lakx.huang@intel.com>
---
 MdePkg/Test/MdePkgHostTest.dsc                |  1 +
 .../Library/MockUefiBootServicesTableLib.h    | 71 ++++++++++++++++++
 .../MockUefiBootServicesTableLib.cpp          | 75 +++++++++++++++++++
 .../MockUefiBootServicesTableLib.inf          | 33 ++++++++
 4 files changed, 180 insertions(+)
 create mode 100644 MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.h
 create mode 100644 MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.cpp
 create mode 100644 MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.inf

diff --git a/MdePkg/Test/MdePkgHostTest.dsc b/MdePkg/Test/MdePkgHostTest.dsc
index 529ea69024..872db61b2f 100644
--- a/MdePkg/Test/MdePkgHostTest.dsc
+++ b/MdePkg/Test/MdePkgHostTest.dsc
@@ -38,3 +38,4 @@
   MdePkg/Test/Mock/Library/GoogleTest/MockUefiRuntimeServicesTableLib/MockUefiRuntimeServicesTableLib.inf
   MdePkg/Test/Mock/Library/GoogleTest/MockPeiServicesLib/MockPeiServicesLib.inf
   MdePkg/Test/Mock/Library/GoogleTest/MockHobLib/MockHobLib.inf
+  MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.inf
\ No newline at end of file
diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.h
new file mode 100644
index 0000000000..e36c6efdb9
--- /dev/null
+++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.h
@@ -0,0 +1,71 @@
+/** @file
+  Google Test mocks for UefiBootServicesTableLib
+
+  Copyright (c) 2022, Intel Corporation. All rights reserved.
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef MOCK_UEFI_BOOT_SERVICES_TABLE_LIB_H_
+#define MOCK_UEFI_BOOT_SERVICES_TABLE_LIB_H_
+
+#include <Library/GoogleTestLib.h>
+#include <Library/FunctionMockLib.h>
+extern "C" {
+#include <Uefi.h>
+#include <Library/UefiBootServicesTableLib.h>
+}
+
+struct MockUefiBootServicesTableLib {
+  MOCK_INTERFACE_DECLARATION (MockUefiBootServicesTableLib);
+
+  MOCK_FUNCTION_DECLARATION (
+    EFI_STATUS,
+    gBS_LocateProtocol,
+    (IN   EFI_GUID  *Protocol,
+     IN   VOID      *Registration  OPTIONAL,
+     OUT  VOID      **Interface)
+    );
+
+  MOCK_FUNCTION_DECLARATION (
+    EFI_STATUS,
+    gBS_LocateHandleBuffer,
+    (IN   EFI_LOCATE_SEARCH_TYPE    SearchType,
+     IN   EFI_GUID                  *Protocol       OPTIONAL,
+     IN   VOID                      *SearchKey      OPTIONAL,
+     OUT  UINTN                     *NoHandles,
+     OUT  EFI_HANDLE                **Buffer)
+    );
+
+  MOCK_FUNCTION_DECLARATION (
+    EFI_STATUS,
+    gBS_DisconnectController,
+    (IN  EFI_HANDLE   ControllerHandle,
+     IN  EFI_HANDLE   DriverImageHandle  OPTIONAL,
+     IN  EFI_HANDLE   ChildHandle        OPTIONAL)
+    );
+
+  MOCK_FUNCTION_DECLARATION (
+    EFI_STATUS,
+    gBS_FreePool,
+    (IN  VOID  *Buffer)
+    );
+     
+  MOCK_FUNCTION_DECLARATION (
+    EFI_STATUS,
+    gBS_ConnectController,
+    (IN  EFI_HANDLE                 ControllerHandle,
+     IN  EFI_HANDLE                 *DriverImageHandle    OPTIONAL,
+     IN  EFI_DEVICE_PATH_PROTOCOL   *RemainingDevicePath  OPTIONAL,
+     IN  BOOLEAN                    Recursive)
+    );
+
+  MOCK_FUNCTION_DECLARATION (
+    EFI_STATUS,
+    gBS_HandleProtocol,
+    (IN  EFI_HANDLE    Handle,
+     IN  EFI_GUID      *Protocol,
+     OUT VOID          **Interface)
+    );
+};
+
+#endif
diff --git a/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.cpp b/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.cpp
new file mode 100644
index 0000000000..79964d18f9
--- /dev/null
+++ b/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.cpp
@@ -0,0 +1,75 @@
+/** @file
+  Google Test mocks for UefiBootServicesTableLib
+
+  Copyright (c) 2022, Intel Corporation. All rights reserved.
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+#include <GoogleTest/Library/MockUefiBootServicesTableLib.h>
+
+MOCK_INTERFACE_DEFINITION(MockUefiBootServicesTableLib);
+
+MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib, gBS_LocateProtocol, 3, EFIAPI);
+MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib, gBS_LocateHandleBuffer, 5, EFIAPI);
+MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib, gBS_DisconnectController, 3, EFIAPI);
+MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib, gBS_FreePool, 1, EFIAPI);
+MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib, gBS_ConnectController, 4, EFIAPI);
+MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib, gBS_HandleProtocol, 3, EFIAPI);
+
+
+static EFI_BOOT_SERVICES localBs = {
+  {
+    (UINT64)NULL,                                         // Signature
+    0,                                                    // Revision
+    0,                                                    // HeaderSize
+    0,                                                    // CRC32
+    0                                                     // Reserved
+  },
+  NULL,                                                   // RaiseTPL
+  NULL,                                                   // RestoreTPL
+  NULL,                                                   // AllocatePages
+  NULL,                                                   // FreePages
+  NULL,                                                   // GetMemoryMap
+  NULL,                                                   // AllocatePool
+  (EFI_FREE_POOL)gBS_FreePool,                            // FreePool
+  NULL,                                                   // CreateEvent
+  NULL,                                                   // SetTimer
+  NULL,                                                   // WaitForEvent
+  NULL,                                                   // SignalEvent
+  NULL,                                                   // CloseEvent
+  NULL,                                                   // CheckEvent
+  NULL,                                                   // InstallProtocolInterface
+  NULL,                                                   // ReinstallProtocolInterface
+  NULL,                                                   // UninstallProtocolInterface
+  (EFI_HANDLE_PROTOCOL)gBS_HandleProtocol,                // HandleProtocol
+  (VOID *)NULL,                                           // Reserved
+  NULL,                                                   // RegisterProtocolNotify
+  NULL,                                                   // LocateHandle
+  NULL,                                                   // LocateDevicePath
+  NULL,                                                   // InstallConfigurationTable
+  NULL,                                                   // LoadImage
+  NULL,                                                   // StartImage
+  NULL,                                                   // Exit
+  NULL,                                                   // UnloadImage
+  NULL,                                                   // ExitBootServices
+  NULL,                                                   // GetNextMonotonicCount
+  NULL,                                                   // Stall
+  NULL,                                                   // SetWatchdogTimer
+  (EFI_CONNECT_CONTROLLER)gBS_ConnectController,          // ConnectController
+  (EFI_DISCONNECT_CONTROLLER)gBS_DisconnectController,    // DisconnectController
+  NULL,                                                   // OpenProtocol
+  NULL,                                                   // CloseProtocol
+  NULL,                                                   // OpenProtocolInformation
+  NULL,                                                   // ProtocolsPerHandle
+  (EFI_LOCATE_HANDLE_BUFFER)gBS_LocateHandleBuffer,       // LocateHandleBuffer
+  (EFI_LOCATE_PROTOCOL)gBS_LocateProtocol,                // LocateProtocol
+  NULL,                                                   // InstallMultipleProtocolInterfaces
+  NULL,                                                   // UninstallMultipleProtocolInterfaces
+  NULL,                                                   // CalculateCrc32
+  NULL,                                                   // CopyMem
+  NULL,                                                   // SetMem
+  NULL                                                    // CreateEventEx
+};
+
+extern "C" {
+  EFI_BOOT_SERVICES* gBS = &localBs;
+}
\ No newline at end of file
diff --git a/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.inf b/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.inf
new file mode 100644
index 0000000000..e8dcca8fb8
--- /dev/null
+++ b/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBootServicesTableLib.inf
@@ -0,0 +1,33 @@
+## @file
+# Google Test mocks for UefiBootServicesTableLib
+#
+# Copyright (c) 2023, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+[Defines]
+  INF_VERSION                    = 0x00010005
+  BASE_NAME                      = MockUefiBootServicesTableLib
+  FILE_GUID                      = 9C6D2161-61B2-4094-BC8D-92F70C5E3C06
+  MODULE_TYPE                    = HOST_APPLICATION
+  VERSION_STRING                 = 1.0
+  LIBRARY_CLASS                  = MockUefiBootServicesTableLib
+
+#
+# The following information is for reference only and not required by the build tools.
+#
+#  VALID_ARCHITECTURES           = IA32 X64
+#
+
+[Sources]
+  MockUefiBootServicesTableLib.cpp
+
+[Packages]
+  MdePkg/MdePkg.dec
+  UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
+
+[LibraryClasses]
+  GoogleTestLib
+
+[BuildOptions]
+  MSFT:*_*_*_CC_FLAGS = /EHsc
-- 
2.26.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#106195): https://edk2.groups.io/g/devel/message/106195
Mute This Topic: https://groups.io/mt/99640663/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1] MdePkg: Add UefiBootServicesTableLib gmock support
Posted by Michael D Kinney 10 months ago
I only see a few services from the UEFI Boot Services Table supported.

I recommend the commit message be updated to indicate it is only partial 
supppot and list the APIs supported.

Mike


> -----Original Message-----
> From: Huang, LakX <lakx.huang@intel.com>
> Sent: Monday, June 19, 2023 1:38 AM
> To: devel@edk2.groups.io
> Cc: Huang, LakX <lakx.huang@intel.com>; Kinney, Michael D
> <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Liu,
> Zhiguang <zhiguang.liu@intel.com>
> Subject: [PATCH v1] MdePkg: Add UefiBootServicesTableLib gmock support
> 
> From: LakX Huang <lakx.huang@intel.com>
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4485
> 
> Add Google Mock Library for UefiBootServicesTableLib
> 
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> 
> Signed-off-by: LakX Huang <lakx.huang@intel.com>
> ---
>  MdePkg/Test/MdePkgHostTest.dsc                |  1 +
>  .../Library/MockUefiBootServicesTableLib.h    | 71 ++++++++++++++++++
>  .../MockUefiBootServicesTableLib.cpp          | 75 +++++++++++++++++++
>  .../MockUefiBootServicesTableLib.inf          | 33 ++++++++
>  4 files changed, 180 insertions(+)
>  create mode 100644
> MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.h
>  create mode 100644
> MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBo
> otServicesTableLib.cpp
>  create mode 100644
> MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBo
> otServicesTableLib.inf
> 
> diff --git a/MdePkg/Test/MdePkgHostTest.dsc
> b/MdePkg/Test/MdePkgHostTest.dsc
> index 529ea69024..872db61b2f 100644
> --- a/MdePkg/Test/MdePkgHostTest.dsc
> +++ b/MdePkg/Test/MdePkgHostTest.dsc
> @@ -38,3 +38,4 @@
> 
> MdePkg/Test/Mock/Library/GoogleTest/MockUefiRuntimeServicesTableLib/MockUef
> iRuntimeServicesTableLib.inf
> 
> 
> MdePkg/Test/Mock/Library/GoogleTest/MockPeiServicesLib/MockPeiServicesLib.i
> nf
> 
>    MdePkg/Test/Mock/Library/GoogleTest/MockHobLib/MockHobLib.inf
> 
> +
> MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefiBo
> otServicesTableLib.inf
> \ No newline at end of file
> diff --git
> a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.
> h
> b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.
> h
> new file mode 100644
> index 0000000000..e36c6efdb9
> --- /dev/null
> +++
> b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.
> h
> @@ -0,0 +1,71 @@
> +/** @file
> 
> +  Google Test mocks for UefiBootServicesTableLib
> 
> +
> 
> +  Copyright (c) 2022, Intel Corporation. All rights reserved.
> 
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> +**/
> 
> +
> 
> +#ifndef MOCK_UEFI_BOOT_SERVICES_TABLE_LIB_H_
> 
> +#define MOCK_UEFI_BOOT_SERVICES_TABLE_LIB_H_
> 
> +
> 
> +#include <Library/GoogleTestLib.h>
> 
> +#include <Library/FunctionMockLib.h>
> 
> +extern "C" {
> 
> +#include <Uefi.h>
> 
> +#include <Library/UefiBootServicesTableLib.h>
> 
> +}
> 
> +
> 
> +struct MockUefiBootServicesTableLib {
> 
> +  MOCK_INTERFACE_DECLARATION (MockUefiBootServicesTableLib);
> 
> +
> 
> +  MOCK_FUNCTION_DECLARATION (
> 
> +    EFI_STATUS,
> 
> +    gBS_LocateProtocol,
> 
> +    (IN   EFI_GUID  *Protocol,
> 
> +     IN   VOID      *Registration  OPTIONAL,
> 
> +     OUT  VOID      **Interface)
> 
> +    );
> 
> +
> 
> +  MOCK_FUNCTION_DECLARATION (
> 
> +    EFI_STATUS,
> 
> +    gBS_LocateHandleBuffer,
> 
> +    (IN   EFI_LOCATE_SEARCH_TYPE    SearchType,
> 
> +     IN   EFI_GUID                  *Protocol       OPTIONAL,
> 
> +     IN   VOID                      *SearchKey      OPTIONAL,
> 
> +     OUT  UINTN                     *NoHandles,
> 
> +     OUT  EFI_HANDLE                **Buffer)
> 
> +    );
> 
> +
> 
> +  MOCK_FUNCTION_DECLARATION (
> 
> +    EFI_STATUS,
> 
> +    gBS_DisconnectController,
> 
> +    (IN  EFI_HANDLE   ControllerHandle,
> 
> +     IN  EFI_HANDLE   DriverImageHandle  OPTIONAL,
> 
> +     IN  EFI_HANDLE   ChildHandle        OPTIONAL)
> 
> +    );
> 
> +
> 
> +  MOCK_FUNCTION_DECLARATION (
> 
> +    EFI_STATUS,
> 
> +    gBS_FreePool,
> 
> +    (IN  VOID  *Buffer)
> 
> +    );
> 
> +
> 
> +  MOCK_FUNCTION_DECLARATION (
> 
> +    EFI_STATUS,
> 
> +    gBS_ConnectController,
> 
> +    (IN  EFI_HANDLE                 ControllerHandle,
> 
> +     IN  EFI_HANDLE                 *DriverImageHandle    OPTIONAL,
> 
> +     IN  EFI_DEVICE_PATH_PROTOCOL   *RemainingDevicePath  OPTIONAL,
> 
> +     IN  BOOLEAN                    Recursive)
> 
> +    );
> 
> +
> 
> +  MOCK_FUNCTION_DECLARATION (
> 
> +    EFI_STATUS,
> 
> +    gBS_HandleProtocol,
> 
> +    (IN  EFI_HANDLE    Handle,
> 
> +     IN  EFI_GUID      *Protocol,
> 
> +     OUT VOID          **Interface)
> 
> +    );
> 
> +};
> 
> +
> 
> +#endif
> 
> diff --git
> a/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefi
> BootServicesTableLib.cpp
> b/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefi
> BootServicesTableLib.cpp
> new file mode 100644
> index 0000000000..79964d18f9
> --- /dev/null
> +++
> b/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefi
> BootServicesTableLib.cpp
> @@ -0,0 +1,75 @@
> +/** @file
> 
> +  Google Test mocks for UefiBootServicesTableLib
> 
> +
> 
> +  Copyright (c) 2022, Intel Corporation. All rights reserved.
> 
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> +**/
> 
> +#include <GoogleTest/Library/MockUefiBootServicesTableLib.h>
> 
> +
> 
> +MOCK_INTERFACE_DEFINITION(MockUefiBootServicesTableLib);
> 
> +
> 
> +MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib, gBS_LocateProtocol,
> 3, EFIAPI);
> 
> +MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib,
> gBS_LocateHandleBuffer, 5, EFIAPI);
> 
> +MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib,
> gBS_DisconnectController, 3, EFIAPI);
> 
> +MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib, gBS_FreePool, 1,
> EFIAPI);
> 
> +MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib,
> gBS_ConnectController, 4, EFIAPI);
> 
> +MOCK_FUNCTION_DEFINITION(MockUefiBootServicesTableLib, gBS_HandleProtocol,
> 3, EFIAPI);
> 
> +
> 
> +
> 
> +static EFI_BOOT_SERVICES localBs = {
> 
> +  {
> 
> +    (UINT64)NULL,                                         // Signature
> 
> +    0,                                                    // Revision
> 
> +    0,                                                    // HeaderSize
> 
> +    0,                                                    // CRC32
> 
> +    0                                                     // Reserved
> 
> +  },
> 
> +  NULL,                                                   // RaiseTPL
> 
> +  NULL,                                                   // RestoreTPL
> 
> +  NULL,                                                   // AllocatePages
> 
> +  NULL,                                                   // FreePages
> 
> +  NULL,                                                   // GetMemoryMap
> 
> +  NULL,                                                   // AllocatePool
> 
> +  (EFI_FREE_POOL)gBS_FreePool,                            // FreePool
> 
> +  NULL,                                                   // CreateEvent
> 
> +  NULL,                                                   // SetTimer
> 
> +  NULL,                                                   // WaitForEvent
> 
> +  NULL,                                                   // SignalEvent
> 
> +  NULL,                                                   // CloseEvent
> 
> +  NULL,                                                   // CheckEvent
> 
> +  NULL,                                                   //
> InstallProtocolInterface
> 
> +  NULL,                                                   //
> ReinstallProtocolInterface
> 
> +  NULL,                                                   //
> UninstallProtocolInterface
> 
> +  (EFI_HANDLE_PROTOCOL)gBS_HandleProtocol,                //
> HandleProtocol
> 
> +  (VOID *)NULL,                                           // Reserved
> 
> +  NULL,                                                   //
> RegisterProtocolNotify
> 
> +  NULL,                                                   // LocateHandle
> 
> +  NULL,                                                   //
> LocateDevicePath
> 
> +  NULL,                                                   //
> InstallConfigurationTable
> 
> +  NULL,                                                   // LoadImage
> 
> +  NULL,                                                   // StartImage
> 
> +  NULL,                                                   // Exit
> 
> +  NULL,                                                   // UnloadImage
> 
> +  NULL,                                                   //
> ExitBootServices
> 
> +  NULL,                                                   //
> GetNextMonotonicCount
> 
> +  NULL,                                                   // Stall
> 
> +  NULL,                                                   //
> SetWatchdogTimer
> 
> +  (EFI_CONNECT_CONTROLLER)gBS_ConnectController,          //
> ConnectController
> 
> +  (EFI_DISCONNECT_CONTROLLER)gBS_DisconnectController,    //
> DisconnectController
> 
> +  NULL,                                                   // OpenProtocol
> 
> +  NULL,                                                   // CloseProtocol
> 
> +  NULL,                                                   //
> OpenProtocolInformation
> 
> +  NULL,                                                   //
> ProtocolsPerHandle
> 
> +  (EFI_LOCATE_HANDLE_BUFFER)gBS_LocateHandleBuffer,       //
> LocateHandleBuffer
> 
> +  (EFI_LOCATE_PROTOCOL)gBS_LocateProtocol,                //
> LocateProtocol
> 
> +  NULL,                                                   //
> InstallMultipleProtocolInterfaces
> 
> +  NULL,                                                   //
> UninstallMultipleProtocolInterfaces
> 
> +  NULL,                                                   //
> CalculateCrc32
> 
> +  NULL,                                                   // CopyMem
> 
> +  NULL,                                                   // SetMem
> 
> +  NULL                                                    // CreateEventEx
> 
> +};
> 
> +
> 
> +extern "C" {
> 
> +  EFI_BOOT_SERVICES* gBS = &localBs;
> 
> +}
> \ No newline at end of file
> diff --git
> a/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefi
> BootServicesTableLib.inf
> b/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefi
> BootServicesTableLib.inf
> new file mode 100644
> index 0000000000..e8dcca8fb8
> --- /dev/null
> +++
> b/MdePkg/Test/Mock/Library/GoogleTest/MockUefiBootServicesTableLib/MockUefi
> BootServicesTableLib.inf
> @@ -0,0 +1,33 @@
> +## @file
> 
> +# Google Test mocks for UefiBootServicesTableLib
> 
> +#
> 
> +# Copyright (c) 2023, Intel Corporation. All rights reserved.
> 
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> +##
> 
> +
> 
> +[Defines]
> 
> +  INF_VERSION                    = 0x00010005
> 
> +  BASE_NAME                      = MockUefiBootServicesTableLib
> 
> +  FILE_GUID                      = 9C6D2161-61B2-4094-BC8D-92F70C5E3C06
> 
> +  MODULE_TYPE                    = HOST_APPLICATION
> 
> +  VERSION_STRING                 = 1.0
> 
> +  LIBRARY_CLASS                  = MockUefiBootServicesTableLib
> 
> +
> 
> +#
> 
> +# The following information is for reference only and not required by the
> build tools.
> 
> +#
> 
> +#  VALID_ARCHITECTURES           = IA32 X64
> 
> +#
> 
> +
> 
> +[Sources]
> 
> +  MockUefiBootServicesTableLib.cpp
> 
> +
> 
> +[Packages]
> 
> +  MdePkg/MdePkg.dec
> 
> +  UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
> 
> +
> 
> +[LibraryClasses]
> 
> +  GoogleTestLib
> 
> +
> 
> +[BuildOptions]
> 
> +  MSFT:*_*_*_CC_FLAGS = /EHsc
> 
> --
> 2.26.2.windows.1



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