Xin Zhang / azure-iot-c-sdk-f767zi

Dependents:   samplemqtt

Committer:
XinZhangMS
Date:
Thu Aug 23 06:52:14 2018 +0000
Revision:
0:f7f1f0d76dd6
azure-c-sdk for mbed os supporting NUCLEO_F767ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
XinZhangMS 0:f7f1f0d76dd6 1 // Copyright (c) Microsoft. All rights reserved.
XinZhangMS 0:f7f1f0d76dd6 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
XinZhangMS 0:f7f1f0d76dd6 3
XinZhangMS 0:f7f1f0d76dd6 4 #undef MOCKABLE_FUNCTION
XinZhangMS 0:f7f1f0d76dd6 5
XinZhangMS 0:f7f1f0d76dd6 6 /* This header is meant to be included by production code headers, so that the MOCKABLE_FUNCTION gets enabled. */
XinZhangMS 0:f7f1f0d76dd6 7 /*
XinZhangMS 0:f7f1f0d76dd6 8 If you are porting to a new platform and do not want to build the tests, but only the production code,
XinZhangMS 0:f7f1f0d76dd6 9 simply make sure that this file is in the include path (either by copying it to your inc folder or
XinZhangMS 0:f7f1f0d76dd6 10 by adjusting the include paths).
XinZhangMS 0:f7f1f0d76dd6 11 */
XinZhangMS 0:f7f1f0d76dd6 12
XinZhangMS 0:f7f1f0d76dd6 13 #ifdef ENABLE_MOCKS
XinZhangMS 0:f7f1f0d76dd6 14
XinZhangMS 0:f7f1f0d76dd6 15 #ifdef ENABLE_MOCK_FILTERING
XinZhangMS 0:f7f1f0d76dd6 16 #define ENABLE_MOCK_FILTERING_SWITCH 1
XinZhangMS 0:f7f1f0d76dd6 17 #else
XinZhangMS 0:f7f1f0d76dd6 18 #define ENABLE_MOCK_FILTERING_SWITCH 0
XinZhangMS 0:f7f1f0d76dd6 19 #endif
XinZhangMS 0:f7f1f0d76dd6 20
XinZhangMS 0:f7f1f0d76dd6 21 #include "macro_utils.h"
XinZhangMS 0:f7f1f0d76dd6 22
XinZhangMS 0:f7f1f0d76dd6 23 #define UMOCK_C_PROD_ARG_IN_SIGNATURE(count, arg_type, arg_name) arg_type arg_name IFCOMMA(count)
XinZhangMS 0:f7f1f0d76dd6 24
XinZhangMS 0:f7f1f0d76dd6 25 #define MOCKABLE_FUNCTION_DISABLED(modifiers, result, function, ...) \
XinZhangMS 0:f7f1f0d76dd6 26 result modifiers function(IF(COUNT_ARG(__VA_ARGS__), , void) FOR_EACH_2_COUNTED(UMOCK_C_PROD_ARG_IN_SIGNATURE, __VA_ARGS__));
XinZhangMS 0:f7f1f0d76dd6 27
XinZhangMS 0:f7f1f0d76dd6 28 /* Codes_SRS_UMOCK_C_LIB_01_001: [MOCKABLE_FUNCTION shall be used to wrap function definition allowing the user to declare a function that can be mocked.]*/
XinZhangMS 0:f7f1f0d76dd6 29 #define MOCKABLE_FUNCTION(modifiers, result, function, ...) \
XinZhangMS 0:f7f1f0d76dd6 30 IF(ENABLE_MOCK_FILTERING_SWITCH,IF(C2(please_mock_, function),MOCKABLE_FUNCTION_DISABLED,MOCKABLE_FUNCTION_UMOCK_INTERNAL_WITH_MOCK), MOCKABLE_FUNCTION_UMOCK_INTERNAL_WITH_MOCK) (modifiers, result, function, __VA_ARGS__)
XinZhangMS 0:f7f1f0d76dd6 31
XinZhangMS 0:f7f1f0d76dd6 32 #include "umock_c.h"
XinZhangMS 0:f7f1f0d76dd6 33
XinZhangMS 0:f7f1f0d76dd6 34 #else
XinZhangMS 0:f7f1f0d76dd6 35
XinZhangMS 0:f7f1f0d76dd6 36 #include "macro_utils.h"
XinZhangMS 0:f7f1f0d76dd6 37
XinZhangMS 0:f7f1f0d76dd6 38 #define UMOCK_C_PROD_ARG_IN_SIGNATURE(count, arg_type, arg_name) arg_type arg_name IFCOMMA(count)
XinZhangMS 0:f7f1f0d76dd6 39
XinZhangMS 0:f7f1f0d76dd6 40 /* Codes_SRS_UMOCK_C_LIB_01_002: [The macro shall generate a function signature in case ENABLE_MOCKS is not defined.] */
XinZhangMS 0:f7f1f0d76dd6 41 /* Codes_SRS_UMOCK_C_LIB_01_005: [**If ENABLE_MOCKS is not defined, MOCKABLE_FUNCTION shall only generate a declaration for the function.] */
XinZhangMS 0:f7f1f0d76dd6 42 /* Codes_SRS_UMOCK_C_LIB_01_001: [MOCKABLE_FUNCTION shall be used to wrap function definition allowing the user to declare a function that can be mocked.]*/
XinZhangMS 0:f7f1f0d76dd6 43 #define MOCKABLE_FUNCTION(modifiers, result, function, ...) \
XinZhangMS 0:f7f1f0d76dd6 44 result modifiers function(IF(COUNT_ARG(__VA_ARGS__),,void) FOR_EACH_2_COUNTED(UMOCK_C_PROD_ARG_IN_SIGNATURE, __VA_ARGS__));
XinZhangMS 0:f7f1f0d76dd6 45
XinZhangMS 0:f7f1f0d76dd6 46 #endif