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 0000000000..b44d341332 --- /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 +#include + +extern "C" { + #include + #include +} + +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 0000000000..5cf94c43b4 --- /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 + +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; +}