270 lines
5.9 KiB
C
270 lines
5.9 KiB
C
/** @file MockShellCommandLib.h
|
|
Google Test mocks for ShellCommandLib
|
|
|
|
Copyright (c) Microsoft Corporation.
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
**/
|
|
|
|
#ifndef MOCK_SHELL_COMMAND_LIB_H_
|
|
#define MOCK_SHELL_COMMAND_LIB_H_
|
|
|
|
#include <Library/GoogleTestLib.h>
|
|
#include <Library/FunctionMockLib.h>
|
|
extern "C" {
|
|
#include <Uefi.h>
|
|
#include <Library/ShellCommandLib.h>
|
|
}
|
|
|
|
struct MockShellCommandLib {
|
|
MOCK_INTERFACE_DECLARATION (MockShellCommandLib);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
RETURN_STATUS,
|
|
ShellCommandRegisterCommandName,
|
|
(IN CONST CHAR16 *CommandString,
|
|
IN SHELL_RUN_COMMAND CommandHandler,
|
|
IN SHELL_GET_MAN_FILENAME GetManFileName,
|
|
IN UINT32 ShellMinSupportLevel,
|
|
IN CONST CHAR16 *ProfileName,
|
|
IN CONST BOOLEAN CanAffectLE,
|
|
IN CONST EFI_HII_HANDLE HiiHandle,
|
|
IN CONST EFI_STRING_ID ManFormatHelp)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
RETURN_STATUS,
|
|
ShellCommandRunCommandHandler,
|
|
(IN CONST CHAR16 *CommandString,
|
|
IN OUT SHELL_STATUS *RetVal,
|
|
IN OUT BOOLEAN *CanAffectLE OPTIONAL)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CONST CHAR16 *,
|
|
ShellCommandGetManFileNameHandler,
|
|
(IN CONST CHAR16 *CommandString)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CONST COMMAND_LIST *,
|
|
ShellCommandGetCommandList,
|
|
(IN CONST BOOLEAN Sort)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
RETURN_STATUS,
|
|
ShellCommandRegisterAlias,
|
|
(IN CONST CHAR16 *Command,
|
|
IN CONST CHAR16 *Alias)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CONST ALIAS_LIST *,
|
|
ShellCommandGetInitAliasList,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
ShellCommandIsOnAliasList,
|
|
(IN CONST CHAR16 *Alias)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
ShellCommandIsCommandOnList,
|
|
(IN CONST CHAR16 *CommandString)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CHAR16 *,
|
|
ShellCommandGetCommandHelp,
|
|
(IN CONST CHAR16 *CommandString)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
EFI_STATUS,
|
|
CommandInit,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
ShellCommandGetEchoState,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
ShellCommandSetEchoState,
|
|
(IN BOOLEAN State)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
ShellCommandRegisterExit,
|
|
(IN BOOLEAN ScriptOnly,
|
|
IN CONST UINT64 ErrorCode)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
UINT64,
|
|
ShellCommandGetExitCode,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
ShellCommandGetExit,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
ShellCommandGetScriptExit,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
SCRIPT_FILE *,
|
|
ShellCommandGetCurrentScriptFile,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
SCRIPT_FILE *,
|
|
ShellCommandSetNewScript,
|
|
(IN SCRIPT_FILE *Script OPTIONAL)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
DeleteScriptFileStruct,
|
|
(IN SCRIPT_FILE *Script)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CONST CHAR16 *,
|
|
ShellCommandGetProfileList,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CHAR16 *,
|
|
ShellCommandCreateNewMappingName,
|
|
(IN CONST SHELL_MAPPING_TYPE Type)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
EFI_STATUS,
|
|
ShellCommandConsistMappingInitialize,
|
|
(EFI_DEVICE_PATH_PROTOCOL ***Table)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
EFI_STATUS,
|
|
ShellCommandConsistMappingUnInitialize,
|
|
(EFI_DEVICE_PATH_PROTOCOL **Table)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CHAR16 *,
|
|
ShellCommandConsistMappingGenMappingName,
|
|
(IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
|
IN EFI_DEVICE_PATH_PROTOCOL **Table)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
SHELL_MAP_LIST *,
|
|
ShellCommandFindMapItem,
|
|
(IN CONST CHAR16 *MapKey)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
EFI_STATUS,
|
|
ShellCommandAddMapItemAndUpdatePath,
|
|
(IN CONST CHAR16 *Name,
|
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
|
IN CONST UINT64 Flags,
|
|
IN CONST BOOLEAN Path)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
EFI_STATUS,
|
|
ShellCommandCreateInitialMappingsAndPaths,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
EFI_STATUS,
|
|
ShellCommandUpdateMapping,
|
|
()
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
EFI_FILE_PROTOCOL *,
|
|
ConvertShellHandleToEfiFileProtocol,
|
|
(IN CONST SHELL_FILE_HANDLE Handle)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
ShellFileHandleRemove,
|
|
(IN CONST SHELL_FILE_HANDLE Handle)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
SHELL_FILE_HANDLE,
|
|
ConvertEfiFileProtocolToShellHandle,
|
|
(IN CONST EFI_FILE_PROTOCOL *Handle,
|
|
IN CONST CHAR16 *Path)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CONST CHAR16 *,
|
|
ShellFileHandleGetPath,
|
|
(IN CONST SHELL_FILE_HANDLE Handle)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
BOOLEAN,
|
|
ShellFileHandleEof,
|
|
(IN SHELL_FILE_HANDLE Handle)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
FreeBufferList,
|
|
(IN BUFFER_LIST *List)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
VOID,
|
|
DumpHex,
|
|
(IN UINTN Indent,
|
|
IN UINTN Offset,
|
|
IN UINTN DataSize,
|
|
IN VOID *UserData)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
CHAR16 *,
|
|
CatSDumpHex,
|
|
(IN CHAR16 *Buffer,
|
|
IN UINTN Indent,
|
|
IN UINTN Offset,
|
|
IN UINTN DataSize,
|
|
IN VOID *UserData)
|
|
);
|
|
|
|
MOCK_FUNCTION_DECLARATION (
|
|
EFI_STATUS,
|
|
ShellSortFileList,
|
|
(IN OUT EFI_SHELL_FILE_INFO **FileList,
|
|
OUT EFI_SHELL_FILE_INFO **Duplicates OPTIONAL,
|
|
IN SHELL_SORT_FILE_LIST Order)
|
|
);
|
|
};
|
|
|
|
#endif
|