Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
uamqp/deps/umock-c/inc/umock_c_prod.h@0:f7f1f0d76dd6, 2018-08-23 (annotated)
- 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?
User | Revision | Line number | New 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 |