-
Notifications
You must be signed in to change notification settings - Fork 136
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f54f113
commit fabbe77
Showing
4 changed files
with
353 additions
and
1 deletion.
There are no files selected for viewing
269 changes: 269 additions & 0 deletions
269
ShellPkg/Test/Mock/Include/GoogleTest/Library/MockShellCommandLib.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
48 changes: 48 additions & 0 deletions
48
ShellPkg/Test/Mock/Library/GoogleTest/MockShellCommandLib/MockShellCommandLib.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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); |
34 changes: 34 additions & 0 deletions
34
ShellPkg/Test/Mock/Library/GoogleTest/MockShellCommandLib/MockShellCommandLib.inf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters