From: Doug Flick <dougfl...@microsoft.com> This commit adds a new MockHash2 protocol to the MdePkg. This protocol is used to test Hash2 protocol consumers.
Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang....@intel.com> Signed-off-by: Doug Flick [MSFT] <doug.e...@gmail.com> --- MdePkg/Test/Mock/Include/GoogleTest/Protocol/MockHash2.h | 67 ++++++++++++++++++++ MdePkg/Test/Mock/Library/GoogleTest/Protocol/MockHash2.cpp | 27 ++++++++ 2 files changed, 94 insertions(+) diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Protocol/MockHash2.h b/MdePkg/Test/Mock/Include/GoogleTest/Protocol/MockHash2.h new file mode 100644 index 000000000000..b44d341332dc --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Protocol/MockHash2.h @@ -0,0 +1,67 @@ +/** @file + This file declares a mock of Hash2 Protocol. + + Copyright (c) Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_HASH2_H_ +#define MOCK_HASH2_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> + +extern "C" { + #include <Uefi.h> + #include <Protocol/Hash2.h> +} + +struct MockHash2 { + MOCK_INTERFACE_DECLARATION (MockHash2); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + GetHashSize, + (IN CONST EFI_HASH2_PROTOCOL *This, + IN CONST EFI_GUID *HashAlgorithm, + OUT UINTN *HashSize) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + Hash, + (IN CONST EFI_HASH2_PROTOCOL *This, + IN CONST EFI_GUID *HashAlgorithm, + IN CONST UINT8 *Message, + IN UINTN MessageSize, + IN OUT EFI_HASH2_OUTPUT *Hash) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + HashInit, + (IN CONST EFI_HASH2_PROTOCOL *This, + IN CONST EFI_GUID *HashAlgorithm) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + HashUpdate, + (IN CONST EFI_HASH2_PROTOCOL *This, + IN CONST UINT8 *Message, + IN UINTN MessageSize) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + HashFinal, + (IN CONST EFI_HASH2_PROTOCOL *This, + IN OUT EFI_HASH2_OUTPUT *Hash) + ); +}; + +extern "C" { + extern EFI_HASH2_PROTOCOL *gHash2Protocol; +} + +#endif // MOCK_HASH2_H_ diff --git a/MdePkg/Test/Mock/Library/GoogleTest/Protocol/MockHash2.cpp b/MdePkg/Test/Mock/Library/GoogleTest/Protocol/MockHash2.cpp new file mode 100644 index 000000000000..5cf94c43b4a5 --- /dev/null +++ b/MdePkg/Test/Mock/Library/GoogleTest/Protocol/MockHash2.cpp @@ -0,0 +1,27 @@ +/** @file MockHash2.cpp + Google Test mock for Hash2 Protocol + + Copyright (c) Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include <GoogleTest/Protocol/MockHash2.h> + +MOCK_INTERFACE_DEFINITION (MockHash2); +MOCK_FUNCTION_DEFINITION (MockHash2, GetHashSize, 3, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockHash2, Hash, 5, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockHash2, HashInit, 2, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockHash2, HashUpdate, 3, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockHash2, HashFinal, 2, EFIAPI); + +EFI_HASH2_PROTOCOL HASH2_PROTOCOL_INSTANCE = { + GetHashSize, // EFI_HASH2_GET_HASH_SIZE + Hash, // EFI_HASH2_HASH + HashInit, // EFI_HASH2_HASH_INIT + HashUpdate, // EFI_HASH2_HASH_UPDATE + HashFinal // EFI_HASH2_HASH_FINAL +}; + +extern "C" { + EFI_HASH2_PROTOCOL *gHash2Protocol = &HASH2_PROTOCOL_INSTANCE; +} -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118686): https://edk2.groups.io/g/devel/message/118686 Mute This Topic: https://groups.io/mt/105983253/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-