return_type modifiers name()

in inc/umock_c/umock_c_internal.h [1380:1528]


    return_type modifiers name(MU_IF(MU_COUNT_ARG(__VA_ARGS__),,void) MU_FOR_EACH_2_COUNTED(ARG_IN_SIGNATURE, __VA_ARGS__)) \
    { \
        UMOCKCALL_HANDLE mock_call; \
        UMOCKCALL_HANDLE matched_call; \
        MU_IF(IS_NOT_VOID(return_type), \
        MU_C2(COPY_RETURN_VALUE_FUNC_TYPE, name) copy_return_value_func = MU_C2(copy_return_value_, name); \
        (void)copy_return_value_func; \
        unsigned int result_value_set_C8417226_7442_49B4_BBB9_9CA816A21EB7 = 0; \
        unsigned int fail_result_value_set_C8417226_7442_49B4_BBB9_9CA816A21EB7 = 0; \
        void* captured_return_value_C8417226_7442_49B4_BBB9_9CA816A21EB7 = NULL;,) \
        MU_IF(IS_NOT_VOID(return_type),TRACK_CREATE_FUNC_TYPE track_create_destroy_pair_malloc_local_C8417226_7442_49B4_BBB9_9CA816A21EB7 = MU_C2(track_create_destroy_pair_malloc_,name); \
            PAIRED_HANDLES* used_paired_handles_local_C8417226_7442_49B4_BBB9_9CA816A21EB7 = MU_C2(used_paired_handles_,name); \
            const char* return_type_string_C8417226_7442_49B4_BBB9_9CA816A21EB7 = MU_TOSTRING(return_type); \
            (void)return_type_string_C8417226_7442_49B4_BBB9_9CA816A21EB7; \
            (void)track_create_destroy_pair_malloc_local_C8417226_7442_49B4_BBB9_9CA816A21EB7; \
            (void)used_paired_handles_local_C8417226_7442_49B4_BBB9_9CA816A21EB7;,) \
        MU_IF(IS_NOT_VOID(return_type),return_type result_C8417226_7442_49B4_BBB9_9CA816A21EB7 = MU_C2(get_mock_call_return_values_,name)()->success_value;,) \
        MU_C2(mock_call_,name)* matched_call_data; \
        MU_C2(mock_call_,name)* mock_call_data = (MU_C2(mock_call_,name)*)umockalloc_malloc(sizeof(MU_C2(mock_call_,name))); \
        MU_FOR_EACH_2(COPY_ARG_TO_MOCK_STRUCT, __VA_ARGS__) \
        MU_FOR_EACH_2(MARK_ARG_AS_NOT_IGNORED, __VA_ARGS__) \
        MU_FOR_EACH_2_COUNTED(CLEAR_OUT_ARG_BUFFERS, __VA_ARGS__) \
        MU_FOR_EACH_2_COUNTED(CLEAR_VALIDATE_ARG_BUFFERS, __VA_ARGS__) \
        MU_FOR_EACH_2(CLEAR_VALIDATE_ARG_VALUE, __VA_ARGS__) \
        MU_FOR_EACH_2(CLEAR_CAPTURE_ARG_VALUE, __VA_ARGS__) \
        MU_FOR_EACH_2(CLEAR_OVERRIDE_ARGUMENT_TYPE, __VA_ARGS__) \
        MU_IF(IS_NOT_VOID(return_type),mock_call_data->return_value_set = RETURN_VALUE_NOT_SET; \
        mock_call_data->captured_return_value = NULL; \
        mock_call_data->fail_return_value_set = FAIL_RETURN_VALUE_NOT_SET;,) \
        mock_call = umockcall_create(#name, mock_call_data, MU_C2(mock_call_data_copy_func_,name), MU_C2(mock_call_data_free_func_,name), MU_C2(mock_call_data_stringify_,name), MU_C2(mock_call_data_are_equal_,name)); \
        if (mock_call == NULL) \
        { \
            MU_IF(IS_NOT_VOID(return_type),COPY_RETURN_VALUE(return_type, name),) \
            UMOCK_LOG("Could not create a mock call in the actual call for %s.", MU_TOSTRING(name)); \
            umock_c_indicate_error(UMOCK_C_ERROR); \
        } \
        else \
        { \
            if (umock_c_add_actual_call(mock_call, &matched_call) != 0) \
            { \
                umockcall_destroy(mock_call); \
                UMOCK_LOG("Could not add an actual call for %s.", MU_TOSTRING(name)); \
                umock_c_indicate_error(UMOCK_C_COMPARE_CALL_ERROR); \
            } \
            if (matched_call != NULL) \
            { \
                matched_call_data = (MU_C2(mock_call_,name)*)umockcall_get_call_data(matched_call); \
                if (matched_call_data != NULL) \
                { \
                    MU_FOR_EACH_2(COPY_CAPTURED_ARGUMENT_VALUE, __VA_ARGS__) \
                } \
                MU_IF(IS_NOT_VOID(return_type),if (matched_call_data != NULL) \
                { \
                    captured_return_value_C8417226_7442_49B4_BBB9_9CA816A21EB7 = (void*)matched_call_data->captured_return_value; \
                    if (umockcall_get_fail_call(matched_call)) \
                    { \
                        if (matched_call_data->fail_return_value_set == FAIL_RETURN_VALUE_SET) \
                        { \
                            UMOCK_COPY_INTERNAL(result_C8417226_7442_49B4_BBB9_9CA816A21EB7, matched_call_data->fail_return_value); \
                        } \
                        else \
                        { \
                            UMOCK_COPY_INTERNAL(result_C8417226_7442_49B4_BBB9_9CA816A21EB7, MU_C2(get_mock_call_return_values_, name)()->failure_value); \
                        } \
                        result_value_set_C8417226_7442_49B4_BBB9_9CA816A21EB7 = 1; \
                        fail_result_value_set_C8417226_7442_49B4_BBB9_9CA816A21EB7 = 1; \
                    } \
                    else if (matched_call_data->return_value_set == RETURN_VALUE_SET) \
                    { \
                        UMOCK_COPY_INTERNAL(result_C8417226_7442_49B4_BBB9_9CA816A21EB7, matched_call_data->return_value); \
                        result_value_set_C8417226_7442_49B4_BBB9_9CA816A21EB7 = 1; \
                    } \
                    else \
                    { \
                        if (MU_C2(mock_hook_, name) != NULL) \
                        { \
                            MU_IF(IS_NOT_VOID(return_type),return_type temp_result_C8417226_7442_49B4_BBB9_9CA816A21EB7 =,) MU_C2(mock_hook_, name)(MU_FOR_EACH_2_COUNTED(ARG_NAME_ONLY_IN_CALL, __VA_ARGS__)); \
                            MU_IF(IS_NOT_VOID(return_type),UMOCK_COPY_INTERNAL(result_C8417226_7442_49B4_BBB9_9CA816A21EB7, temp_result_C8417226_7442_49B4_BBB9_9CA816A21EB7);,) \
                            MU_IF(IS_NOT_VOID(return_type),result_value_set_C8417226_7442_49B4_BBB9_9CA816A21EB7 = 1;,) \
                        } \
                    } \
                }, \
                if (MU_C2(mock_hook_, name) != NULL) \
                { \
                    MU_C2(mock_hook_, name)(MU_FOR_EACH_2_COUNTED(ARG_NAME_ONLY_IN_CALL, __VA_ARGS__)); \
                } \
                ) \
                MU_IF(MU_COUNT_ARG(__VA_ARGS__), MU_FOR_EACH_2_COUNTED(COPY_OUT_ARG_VALUE_FROM_MATCHED_CALL, __VA_ARGS__),) \
            } \
            else \
            { \
                if (MU_C2(mock_hook_, name) != NULL) \
                { \
                    MU_IF(IS_NOT_VOID(return_type),return_type temp_result_C8417226_7442_49B4_BBB9_9CA816A21EB7 =,) MU_C2(mock_hook_, name)(MU_FOR_EACH_2_COUNTED(ARG_NAME_ONLY_IN_CALL, __VA_ARGS__)); \
                    MU_IF(IS_NOT_VOID(return_type),UMOCK_COPY_INTERNAL(result_C8417226_7442_49B4_BBB9_9CA816A21EB7, temp_result_C8417226_7442_49B4_BBB9_9CA816A21EB7);,) \
                    MU_IF(IS_NOT_VOID(return_type),result_value_set_C8417226_7442_49B4_BBB9_9CA816A21EB7 = 1;,) \
                } \
            } \
        } \
        MU_IF(MU_COUNT_ARG(__VA_ARGS__), if (MU_C2(track_create_destroy_pair_free_, name) != NULL) \
        { \
            if (MU_C2(track_create_destroy_pair_free_, name)(MU_C2(used_paired_handles_, name), (void*)&ONLY_FIRST_ARG(__VA_ARGS__, 1)) != 0) \
            { \
                UMOCK_LOG("Could not track the destroy call for %s.", MU_TOSTRING(name)); \
                umock_c_indicate_error(UMOCK_C_ERROR); \
            } \
        },) \
        { \

#define UMOCK_GENERATE_DEFAULT_RETURNS(success_return_value, failure_return_value) \
            = { success_return_value, failure_return_value }; \
            if (!result->initialized) \
            { \
                result->success_value = temp.success_value; \
                result->failure_value = temp.failure_value; \
            } \
            return result; \
        } \

/* Codes_SRS_UMOCK_C_LIB_01_188: [ The create call shall have a non-void return type. ]*/
/* Codes_SRS_UMOCK_C_LIB_01_191: [ At each create_call a memory block shall be allocated so that it can be reported as a leak by any memory checker. ]*/
/* Codes_SRS_UMOCK_C_LIB_01_192: [ If any error occurs during the create_call related then umock_c shall raise an error with the code UMOCK_C_ERROR. ]*/
/* Codes_SRS_UMOCK_C_LIB_01_204: [ Tracking of paired calls shall not be done if the actual call to the create_call is using the SetFailReturn call modifier. ]*/

#define  MOCKABLE_FUNCTION_UMOCK_INTERNAL_WITH_MOCK_DECL(has_returns, eat_returns, modifiers, return_type, name, ...) \
    MOCKABLE_FUNCTION_UMOCK_INTERNAL_WITH_MOCK_NO_CODE_DECL(has_returns, eat_returns, return_type, name, __VA_ARGS__) \

#define MOCKABLE_FUNCTION_UMOCK_INTERNAL_WITH_MOCK_IMPL(has_returns, modifiers, return_type, name, ...) \
    MOCKABLE_FUNCTION_UMOCK_INTERNAL_WITH_MOCK_NO_CODE_IMPL(has_returns, return_type, name, __VA_ARGS__) \
    MOCKABLE_FUNCTION_BODY_WITHOUT_RETURN_IMPL(modifiers, return_type, name, __VA_ARGS__) \
            MU_IF(IS_NOT_VOID(return_type), \
            if (result_value_set_C8417226_7442_49B4_BBB9_9CA816A21EB7 == 0) \
            { \
                COPY_RETURN_VALUE(return_type, name) \
            }; \
            if (captured_return_value_C8417226_7442_49B4_BBB9_9CA816A21EB7 != NULL) \
            { \
                (void)memcpy((void*)captured_return_value_C8417226_7442_49B4_BBB9_9CA816A21EB7, (void*)&result_C8417226_7442_49B4_BBB9_9CA816A21EB7, sizeof(result_C8417226_7442_49B4_BBB9_9CA816A21EB7)); \
            } \
            if ((track_create_destroy_pair_malloc_local_C8417226_7442_49B4_BBB9_9CA816A21EB7 != NULL) && (fail_result_value_set_C8417226_7442_49B4_BBB9_9CA816A21EB7 == 0)) \
            { \
                if (track_create_destroy_pair_malloc_local_C8417226_7442_49B4_BBB9_9CA816A21EB7(used_paired_handles_local_C8417226_7442_49B4_BBB9_9CA816A21EB7, (const void*)&result_C8417226_7442_49B4_BBB9_9CA816A21EB7, return_type_string_C8417226_7442_49B4_BBB9_9CA816A21EB7, sizeof(result_C8417226_7442_49B4_BBB9_9CA816A21EB7)) != 0) \
                { \
                    UMOCK_LOG("Could not track the create call for %s.", MU_TOSTRING(name)); \
                    umock_c_indicate_error(UMOCK_C_ERROR); \
                } \
            } \
            return result_C8417226_7442_49B4_BBB9_9CA816A21EB7;,) \
        } \