MdePkg: Add MockUefiBootServicesTableLib
This commit adds a 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: Doug Flick [MSFT] <doug.edk2@gmail.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
@ -0,0 +1,69 @@
|
||||
/** @file
|
||||
Google Test mocks for UefiBootServicesTableLib
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
#include <GoogleTest/Library/MockUefiBootServicesTableLib.h>
|
||||
|
||||
MOCK_INTERFACE_DEFINITION (MockUefiBootServicesTableLib);
|
||||
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_GetMemoryMap, 5, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_CreateEvent, 5, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_CloseEvent, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_HandleProtocol, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_LocateProtocol, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockUefiBootServicesTableLib, gBS_CreateEventEx, 6, EFIAPI);
|
||||
|
||||
static EFI_BOOT_SERVICES LocalBs = {
|
||||
{ 0, 0, 0, 0, 0 }, // EFI_TABLE_HEADER
|
||||
NULL, // EFI_RAISE_TPL
|
||||
NULL, // EFI_RESTORE_TPL
|
||||
NULL, // EFI_ALLOCATE_PAGES
|
||||
NULL, // EFI_FREE_PAGES
|
||||
gBS_GetMemoryMap, // EFI_GET_MEMORY_MAP
|
||||
NULL, // EFI_ALLOCATE_POOL
|
||||
NULL, // EFI_FREE_POOL
|
||||
gBS_CreateEvent, // EFI_CREATE_EVENT
|
||||
NULL, // EFI_SET_TIMER
|
||||
NULL, // EFI_WAIT_FOR_EVENT
|
||||
NULL, // EFI_SIGNAL_EVENT
|
||||
gBS_CloseEvent, // EFI_CLOSE_EVENT
|
||||
NULL, // EFI_CHECK_EVENT
|
||||
NULL, // EFI_INSTALL_PROTOCOL_INTERFACE
|
||||
NULL, // EFI_REINSTALL_PROTOCOL_INTERFACE
|
||||
NULL, // EFI_UNINSTALL_PROTOCOL_INTERFACE
|
||||
gBS_HandleProtocol, // EFI_HANDLE_PROTOCOL
|
||||
NULL, // VOID
|
||||
NULL, // EFI_REGISTER_PROTOCOL_NOTIFY
|
||||
NULL, // EFI_LOCATE_HANDLE
|
||||
NULL, // EFI_LOCATE_DEVICE_PATH
|
||||
NULL, // EFI_INSTALL_CONFIGURATION_TABLE
|
||||
NULL, // EFI_IMAGE_LOAD
|
||||
NULL, // EFI_IMAGE_START
|
||||
NULL, // EFI_EXIT
|
||||
NULL, // EFI_IMAGE_UNLOAD
|
||||
NULL, // EFI_EXIT_BOOT_SERVICES
|
||||
NULL, // EFI_GET_NEXT_MONOTONIC_COUNT
|
||||
NULL, // EFI_STALL
|
||||
NULL, // EFI_SET_WATCHDOG_TIMER
|
||||
NULL, // EFI_CONNECT_CONTROLLER
|
||||
NULL, // EFI_DISCONNECT_CONTROLLER
|
||||
NULL, // EFI_OPEN_PROTOCOL
|
||||
NULL, // EFI_CLOSE_PROTOCOL
|
||||
NULL, // EFI_OPEN_PROTOCOL_INFORMATION
|
||||
NULL, // EFI_PROTOCOLS_PER_HANDLE
|
||||
NULL, // EFI_LOCATE_HANDLE_BUFFER
|
||||
gBS_LocateProtocol, // EFI_LOCATE_PROTOCOL
|
||||
NULL, // EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES
|
||||
NULL, // EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES
|
||||
NULL, // EFI_CALCULATE_CRC32
|
||||
NULL, // EFI_COPY_MEM
|
||||
NULL, // EFI_SET_MEM
|
||||
gBS_CreateEventEx // EFI_CREATE_EVENT_EX
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
EFI_BOOT_SERVICES *gBS = &LocalBs;
|
||||
EFI_HANDLE gImageHandle = NULL;
|
||||
EFI_SYSTEM_TABLE *gST = NULL;
|
||||
}
|
Reference in New Issue
Block a user