TsunFeng cf8241facc MdePkg: Add Google Mock Library for SafeIntLib
Signed-off-by: TsunFeng <v-tshuang@microsoft.com>
2024-12-11 07:30:17 +00:00

1002 lines
17 KiB
C

/** @file
Google Test mocks for the SafeInt Library
Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef MOCK_SAFE_INT_LIB_H_
#define MOCK_SAFE_INT_LIB_H_
#include <Library/GoogleTestLib.h>
#include <Library/FunctionMockLib.h>
extern "C" {
#include <Uefi.h>
#include <Library/SafeIntLib.h>
}
struct MockSafeIntLib {
MOCK_INTERFACE_DECLARATION (MockSafeIntLib);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt8ToUint8,
(
IN INT8 Operand,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt8ToChar8,
(
IN INT8 Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt8ToUint16,
(
IN INT8 Operand,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt8ToUint32,
(
IN INT8 Operand,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt8ToUintn,
(
IN INT8 Operand,
OUT UINTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt8ToUint64,
(
IN INT8 Operand,
OUT UINT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint8ToInt8,
(
IN UINT8 Operand,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint8ToChar8,
(
IN UINT8 Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16ToInt8,
(
IN INT16 Operand,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16ToChar8,
(
IN INT16 Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16ToUint8,
(
IN INT16 Operand,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16ToUint16,
(
IN INT16 Operand,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16ToUint32,
(
IN INT16 Operand,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16ToUintn,
(
IN INT16 Operand,
OUT UINTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16ToUint64,
(
IN INT16 Operand,
OUT UINT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint16ToInt8,
(
IN UINT16 Operand,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint16ToChar8,
(
IN UINT16 Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint16ToUint8,
(
IN UINT16 Operand,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint16ToInt16,
(
IN UINT16 Operand,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32ToInt8,
(
IN INT32 Operand,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32ToChar8,
(
IN INT32 Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32ToUint8,
(
IN INT32 Operand,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32ToInt16,
(
IN INT32 Operand,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32ToUint16,
(
IN INT32 Operand,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32ToUint32,
(
IN INT32 Operand,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32ToUintn,
(
IN INT32 Operand,
OUT UINTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32ToUint64,
(
IN INT32 Operand,
OUT UINT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32ToInt8,
(
IN UINT32 Operand,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32ToChar8,
(
IN UINT32 Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32ToUint8,
(
IN UINT32 Operand,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32ToInt16,
(
IN UINT32 Operand,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32ToUint16,
(
IN UINT32 Operand,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32ToInt32,
(
IN UINT32 Operand,
OUT INT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32ToIntn,
(
IN UINT32 Operand,
OUT INTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnToInt8,
(
IN INTN Operand,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnToChar8,
(
IN INTN Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnToUint8,
(
IN INTN Operand,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnToInt16,
(
IN INTN Operand,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnToUint16,
(
IN INTN Operand,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnToInt32,
(
IN INTN Operand,
OUT INT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnToUint32,
(
IN INTN Operand,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnToUintn,
(
IN INTN Operand,
OUT UINTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnToUint64,
(
IN INTN Operand,
OUT UINT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnToInt8,
(
IN UINTN Operand,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnToChar8,
(
IN UINTN Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnToUint8,
(
IN UINTN Operand,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnToInt16,
(
IN UINTN Operand,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnToUint16,
(
IN UINTN Operand,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnToInt32,
(
IN UINTN Operand,
OUT INT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnToUint32,
(
IN UINTN Operand,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnToIntn,
(
IN UINTN Operand,
OUT INTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnToInt64,
(
IN UINTN Operand,
OUT INT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToInt8,
(
IN INT64 Operand,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToChar8,
(
IN INT64 Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToUint8,
(
IN INT64 Operand,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToInt16,
(
IN INT64 Operand,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToUint16,
(
IN INT64 Operand,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToInt32,
(
IN INT64 Operand,
OUT INT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToUint32,
(
IN INT64 Operand,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToIntn,
(
IN INT64 Operand,
OUT INTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToUintn,
(
IN INT64 Operand,
OUT UINTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64ToUint64,
(
IN INT64 Operand,
OUT UINT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToInt8,
(
IN UINT64 Operand,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToChar8,
(
IN UINT64 Operand,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToUint8,
(
IN UINT64 Operand,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToInt16,
(
IN UINT64 Operand,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToUint16,
(
IN UINT64 Operand,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToInt32,
(
IN UINT64 Operand,
OUT INT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToUint32,
(
IN UINT64 Operand,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToIntn,
(
IN UINT64 Operand,
OUT INTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToUintn,
(
IN UINT64 Operand,
OUT UINTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64ToInt64,
(
IN UINT64 Operand,
OUT INT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint8Add,
(
IN UINT8 Augend,
IN UINT8 Addend,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint16Add,
(
IN UINT16 Augend,
IN UINT16 Addend,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32Add,
(
IN UINT32 Augend,
IN UINT32 Addend,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnAdd,
(
IN UINTN Augend,
IN UINTN Addend,
OUT UINTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64Add,
(
IN UINT64 Augend,
IN UINT64 Addend,
OUT UINT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint8Sub,
(
IN UINT8 Minuend,
IN UINT8 Subtrahend,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint16Sub,
(
IN UINT16 Minuend,
IN UINT16 Subtrahend,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32Sub,
(
IN UINT32 Minuend,
IN UINT32 Subtrahend,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnSub,
(
IN UINTN Minuend,
IN UINTN Subtrahend,
OUT UINTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64Sub,
(
IN UINT64 Minuend,
IN UINT64 Subtrahend,
OUT UINT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint8Mult,
(
IN UINT8 Multiplicand,
IN UINT8 Multiplier,
OUT UINT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint16Mult,
(
IN UINT16 Multiplicand,
IN UINT16 Multiplier,
OUT UINT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint32Mult,
(
IN UINT32 Multiplicand,
IN UINT32 Multiplier,
OUT UINT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUintnMult,
(
IN UINTN Multiplicand,
IN UINTN Multiplier,
OUT UINTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeUint64Mult,
(
IN UINT64 Multiplicand,
IN UINT64 Multiplier,
OUT UINT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt8Add,
(
IN INT8 Augend,
IN INT8 Addend,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeChar8Add,
(
IN CHAR8 Augend,
IN CHAR8 Addend,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16Add,
(
IN INT16 Augend,
IN INT16 Addend,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32Add,
(
IN INT32 Augend,
IN INT32 Addend,
OUT INT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnAdd,
(
IN INTN Augend,
IN INTN Addend,
OUT INTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64Add,
(
IN INT64 Augend,
IN INT64 Addend,
OUT INT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt8Sub,
(
IN INT8 Minuend,
IN INT8 Subtrahend,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeChar8Sub,
(
IN CHAR8 Minuend,
IN CHAR8 Subtrahend,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16Sub,
(
IN INT16 Minuend,
IN INT16 Subtrahend,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32Sub,
(
IN INT32 Minuend,
IN INT32 Subtrahend,
OUT INT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnSub,
(
IN INTN Minuend,
IN INTN Subtrahend,
OUT INTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64Sub,
(
IN INT64 Minuend,
IN INT64 Subtrahend,
OUT INT64 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt8Mult,
(
IN INT8 Multiplicand,
IN INT8 Multiplier,
OUT INT8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeChar8Mult,
(
IN CHAR8 Multiplicand,
IN CHAR8 Multiplier,
OUT CHAR8 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt16Mult,
(
IN INT16 Multiplicand,
IN INT16 Multiplier,
OUT INT16 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt32Mult,
(
IN INT32 Multiplicand,
IN INT32 Multiplier,
OUT INT32 *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeIntnMult,
(
IN INTN Multiplicand,
IN INTN Multiplier,
OUT INTN *Result
)
);
MOCK_FUNCTION_DECLARATION (
RETURN_STATUS,
SafeInt64Mult,
(
IN INT64 Multiplicand,
IN INT64 Multiplier,
OUT INT64 *Result
)
);
};
#endif