ShellPkg: Added MockShellCommandLib
Signed-off-by: Bhavani Subramanian <v-bhavanisu@microsoft.com>
This commit is contained in:
committed by
mergify[bot]
parent
6ea05b5c95
commit
5f510abf66
@@ -0,0 +1,269 @@
|
||||
/** @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
|
||||
@@ -0,0 +1,48 @@
|
||||
/** @file MockShellCommandLib.cpp
|
||||
Google Test mocks for ShellCommandLib
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#include <GoogleTest/Library/MockShellCommandLib.h>
|
||||
|
||||
MOCK_INTERFACE_DEFINITION (MockShellCommandLib);
|
||||
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandRegisterCommandName, 8, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandRunCommandHandler, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetManFileNameHandler, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetCommandList, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandRegisterAlias, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetInitAliasList, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandIsOnAliasList, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandIsCommandOnList, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetCommandHelp, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, CommandInit, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetEchoState, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandSetEchoState, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandRegisterExit, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetExitCode, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetExit, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetScriptExit, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetCurrentScriptFile, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandSetNewScript, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, DeleteScriptFileStruct, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandGetProfileList, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandCreateNewMappingName, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandConsistMappingInitialize, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandConsistMappingUnInitialize, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandConsistMappingGenMappingName, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandFindMapItem, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandAddMapItemAndUpdatePath, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandCreateInitialMappingsAndPaths, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellCommandUpdateMapping, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ConvertShellHandleToEfiFileProtocol, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellFileHandleRemove, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ConvertEfiFileProtocolToShellHandle, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellFileHandleGetPath, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellFileHandleEof, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, FreeBufferList, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, DumpHex, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, CatSDumpHex, 5, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockShellCommandLib, ShellSortFileList, 3, EFIAPI);
|
||||
@@ -0,0 +1,34 @@
|
||||
## @file MockShellCommandLib.inf
|
||||
# Google Test mocks for ShellCommandLib
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = MockShellCommandLib
|
||||
FILE_GUID = 390bea01-510b-51bb-861f-369caef02153
|
||||
MODULE_TYPE = HOST_APPLICATION
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = ShellCommandLib
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources]
|
||||
MockShellCommandLib.cpp
|
||||
|
||||
[Packages]
|
||||
ShellPkg/ShellPkg.dec
|
||||
MdePkg/MdePkg.dec
|
||||
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
GoogleTestLib
|
||||
|
||||
[BuildOptions]
|
||||
MSFT:*_*_*_CC_FLAGS = /EHs /bigobj
|
||||
@@ -29,3 +29,4 @@ SKUID_IDENTIFIER = DEFAULT
|
||||
# Build HOST_APPLICATION Libraries With GoogleTest
|
||||
#
|
||||
ShellPkg/Test/Mock/Library/GoogleTest/MockShellLib/MockShellLib.inf
|
||||
ShellPkg/Test/Mock/Library/GoogleTest/MockShellCommandLib/MockShellCommandLib.inf
|
||||
|
||||
Reference in New Issue
Block a user