v-sbolisetti ea59e39c85 MdePkg/MockUefiLib: Added new mock functions.
Signed-off-by: v-sbolisetti <v-sbolisetti@microsoft.com>
2024-10-28 07:57:39 +00:00

374 lines
11 KiB
C

/** @file
Google Test mocks for UefiLib
Copyright (c) 2022, Intel Corporation. All rights reserved.
Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef MOCK_UEFI_LIB_H_
#define MOCK_UEFI_LIB_H_
#include <Library/GoogleTestLib.h>
#include <Library/FunctionMockLib.h>
extern "C" {
#include <Uefi.h>
#include <Library/UefiLib.h>
}
struct MockUefiLib {
MOCK_INTERFACE_DECLARATION (MockUefiLib);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiGetSystemConfigurationTable,
(IN EFI_GUID *TableGuid,
OUT VOID **Table)
);
MOCK_FUNCTION_DECLARATION (
EFI_EVENT,
EfiCreateProtocolNotifyEvent,
(IN EFI_GUID *ProtocolGuid,
IN EFI_TPL NotifyTpl,
IN EFI_EVENT_NOTIFY NotifyFunction,
IN VOID *NotifyContext OPTIONAL,
OUT VOID **Registration)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiNamedEventListen,
(IN CONST EFI_GUID *Name,
IN EFI_TPL NotifyTpl,
IN EFI_EVENT_NOTIFY NotifyFunction,
IN CONST VOID *NotifyContext OPTIONAL,
OUT VOID *Registration OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiNamedEventSignal,
(IN CONST EFI_GUID *Name)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiEventGroupSignal,
(IN CONST EFI_GUID *EventGroup)
);
MOCK_FUNCTION_DECLARATION (
VOID,
EfiEventEmptyFunction,
(IN EFI_EVENT Event,
IN VOID *Context)
);
MOCK_FUNCTION_DECLARATION (
EFI_TPL,
EfiGetCurrentTpl,
()
);
MOCK_FUNCTION_DECLARATION (
EFI_LOCK *,
EfiInitializeLock,
(IN OUT EFI_LOCK *Lock,
IN EFI_TPL Priority)
);
MOCK_FUNCTION_DECLARATION (
VOID,
EfiAcquireLock,
(IN EFI_LOCK *Lock)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiAcquireLockOrFail,
(IN EFI_LOCK *Lock)
);
MOCK_FUNCTION_DECLARATION (
VOID,
EfiReleaseLock,
(IN EFI_LOCK *Lock)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiTestManagedDevice,
(IN CONST EFI_HANDLE ControllerHandle,
IN CONST EFI_HANDLE DriverBindingHandle,
IN CONST EFI_GUID *ProtocolGuid)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiTestChildHandle,
(IN CONST EFI_HANDLE ControllerHandle,
IN CONST EFI_HANDLE ChildHandle,
IN CONST EFI_GUID *ProtocolGuid)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
IsLanguageSupported,
(IN CONST CHAR8 *SupportedLanguages,
IN CONST CHAR8 *TargetLanguage)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
LookupUnicodeString,
(IN CONST CHAR8 *Language,
IN CONST CHAR8 *SupportedLanguages,
IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable,
OUT CHAR16 **UnicodeString)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
LookupUnicodeString2,
(IN CONST CHAR8 *Language,
IN CONST CHAR8 *SupportedLanguages,
IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable,
OUT CHAR16 **UnicodeString,
IN BOOLEAN Iso639Language)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
AddUnicodeString,
(IN CONST CHAR8 *Language,
IN CONST CHAR8 *SupportedLanguages,
IN OUT EFI_UNICODE_STRING_TABLE **UnicodeStringTable,
IN CONST CHAR16 *UnicodeString)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
AddUnicodeString2,
(IN CONST CHAR8 *Language,
IN CONST CHAR8 *SupportedLanguages,
IN OUT EFI_UNICODE_STRING_TABLE **UnicodeStringTable,
IN CONST CHAR16 *UnicodeString,
IN BOOLEAN Iso639Language)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
FreeUnicodeStringTable,
(IN EFI_UNICODE_STRING_TABLE *UnicodeStringTable)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
GetVariable2,
(IN CONST CHAR16 *Name,
IN CONST EFI_GUID *Guid,
OUT VOID **Value,
OUT UINTN *Size OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
GetEfiGlobalVariable2,
(IN CONST CHAR16 *Name,
OUT VOID **Value,
OUT UINTN *Size OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
GetVariable3,
(IN CONST CHAR16 *Name,
IN CONST EFI_GUID *Guid,
OUT VOID **Value,
OUT UINTN *Size OPTIONAL,
OUT UINT32 *Attr OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
UINTN,
GetGlyphWidth,
(IN CHAR16 UnicodeChar)
);
MOCK_FUNCTION_DECLARATION (
UINTN,
UnicodeStringDisplayLength,
(IN CONST CHAR16 *String)
);
MOCK_FUNCTION_DECLARATION (
VOID,
EfiSignalEventReadyToBoot,
()
);
MOCK_FUNCTION_DECLARATION (
VOID,
EfiSignalEventLegacyBoot,
()
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiCreateEventLegacyBoot,
(OUT EFI_EVENT *LegacyBootEvent)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiCreateEventLegacyBootEx,
(IN EFI_TPL NotifyTpl,
IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL,
IN VOID *NotifyContext OPTIONAL,
OUT EFI_EVENT *LegacyBootEvent)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiCreateEventReadyToBoot,
(OUT EFI_EVENT *ReadyToBootEvent)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiCreateEventReadyToBootEx,
(IN EFI_TPL NotifyTpl,
IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL,
IN VOID *NotifyContext OPTIONAL,
OUT EFI_EVENT *ReadyToBootEvent)
);
MOCK_FUNCTION_DECLARATION (
VOID,
EfiInitializeFwVolDevicepathNode,
(IN OUT MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvDevicePathNode,
IN CONST EFI_GUID *NameGuid)
);
MOCK_FUNCTION_DECLARATION (
EFI_GUID *,
EfiGetNameGuidFromFwVolDevicePathNode,
(IN CONST MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvDevicePathNode)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiLibInstallDriverBinding,
(IN CONST EFI_HANDLE ImageHandle,
IN CONST EFI_SYSTEM_TABLE *SystemTable,
IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
IN EFI_HANDLE DriverBindingHandle)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiLibUninstallDriverBinding,
(IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiLibInstallAllDriverProtocols,
(IN CONST EFI_HANDLE ImageHandle,
IN CONST EFI_SYSTEM_TABLE *SystemTable,
IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
IN EFI_HANDLE DriverBindingHandle,
IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL,
IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration OPTIONAL,
IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiLibUninstallAllDriverProtocols,
(IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL,
IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration OPTIONAL,
IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiLibInstallDriverBindingComponentName2,
(IN CONST EFI_HANDLE ImageHandle,
IN CONST EFI_SYSTEM_TABLE *SystemTable,
IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
IN EFI_HANDLE DriverBindingHandle,
IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL,
IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiLibUninstallDriverBindingComponentName2,
(IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL,
IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiLibInstallAllDriverProtocols2,
(IN CONST EFI_HANDLE ImageHandle,
IN CONST EFI_SYSTEM_TABLE *SystemTable,
IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
IN EFI_HANDLE DriverBindingHandle,
IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL,
IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL,
IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration OPTIONAL,
IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL *DriverConfiguration2 OPTIONAL,
IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL,
IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *DriverDiagnostics2 OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiLibUninstallAllDriverProtocols2,
(IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL,
IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL,
IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration OPTIONAL,
IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL *DriverConfiguration2 OPTIONAL,
IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL,
IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *DriverDiagnostics2 OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiLocateProtocolBuffer,
(IN EFI_GUID *Protocol,
OUT UINTN *NoProtocols,
OUT VOID ***Buffer)
);
MOCK_FUNCTION_DECLARATION (
EFI_STATUS,
EfiOpenFileByDevicePath,
(IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath,
OUT EFI_FILE_PROTOCOL **File,
IN UINT64 OpenMode,
IN UINT64 Attributes)
);
MOCK_FUNCTION_DECLARATION (
EFI_ACPI_COMMON_HEADER *,
EfiLocateNextAcpiTable,
(IN UINT32 Signature,
IN EFI_ACPI_COMMON_HEADER *PreviousTable OPTIONAL)
);
MOCK_FUNCTION_DECLARATION (
EFI_ACPI_COMMON_HEADER *,
EfiLocateFirstAcpiTable,
(IN UINT32 Signature)
);
};
#endif