23 # ifndef CMOCKA_STATIC 24 # ifdef CMOCKA_EXPORTS 25 #define CMOCKA_DLLEXTERN __declspec(dllexport) 27 #define CMOCKA_DLLEXTERN __declspec(dllimport) 32 #define __func__ __FUNCTION__ 36 #define inline __inline 50 #ifndef CMOCKA_DLLEXTERN 51 #define CMOCKA_DLLEXTERN // only needed on MSVC compiler when using a DLL 94 #ifndef CMOCKA_NO_STANDARD_INCLUDES 113 #define cast_to_intmax_type(value) \ 117 #define cast_to_uintmax_type(value) \ 121 #define cast_ptr_to_uintmax_type(value) \ 122 ((uintmax_t)(uintptr_t)(value)) 125 #define cast_to_double_type(value) \ 129 #define cast_to_float_type(value) \ 139 #define cast_to_void_pointer(ptr) \ 140 ((void *)(uintptr_t)(ptr)) 149 #define cast_int_to_cmocka_value(value) \ 152 .uint_val = (uintmax_t)(value) \ 156 #define cast_ptr_to_cmocka_value(value) \ 159 .const_ptr = (value) \ 163 #define assign_int_to_cmocka_value(value) \ 170 #define assign_uint_to_cmocka_value(value) \ 173 .uint_val = (value) \ 177 #define assign_float_to_cmocka_value(value) \ 180 .float_val = ((float)(value)) \ 184 #define assign_double_to_cmocka_value(value) \ 187 .real_val = ((double)(value)) \ 191 #define cmocka_tostring(val) #val 196 #define CMOCKA_PRINTF_ATTRIBUTE(a,b) \ 197 __attribute__ ((__format__ (__printf__, a, b))) 199 #define CMOCKA_PRINTF_ATTRIBUTE(a,b) 202 #if defined(CMOCKA_DISABLE_DEPRECATION_WARNINGS) || defined(CMOCKA_DISABLE_DEPRECTATION_WARNINGS) 203 #define CMOCKA_DEPRECATED 204 #define CMOCKA_DEPRECATION_WARNING(msg) 208 #if defined(__GNUC__) 209 #define CMOCKA_DEPRECATED __attribute__ ((deprecated)) 214 #define CMOCKA_DEPRECATED 218 #if defined(__GNUC__) || defined(__clang__) 222 #define CMOCKA_DEPRECATION_WARNING(msg) \ 224 typedef int cmocka_macro __attribute__((deprecated(msg))); \ 225 cmocka_macro cmocka_deprecated_var __attribute__((unused)) = 0; \ 226 (void)sizeof(cmocka_deprecated_var); \ 228 #elif defined(_MSC_VER) 229 #define CMOCKA_DEPRECATION_WARNING(msg) __pragma(message("warning: " msg)) 231 #define CMOCKA_DEPRECATION_WARNING(msg) 236 #if defined(__GNUC__) 237 #define CMOCKA_NORETURN __attribute__ ((noreturn)) 238 #elif defined(_MSC_VER) 239 #define CMOCKA_NORETURN __declspec(noreturn) 241 #define CMOCKA_NORETURN 253 #ifdef __has_attribute 254 #if __has_attribute(access) 255 #define CMOCKA_NO_ACCESS_ATTRIBUTE \ 256 __attribute__((access(none, 1), access(none, 2))) 259 #ifndef CMOCKA_NO_ACCESS_ATTRIBUTE 260 #define CMOCKA_NO_ACCESS_ATTRIBUTE 330 #define WILL_RETURN_ALWAYS -1 343 #define WILL_RETURN_ONCE -2 354 #define EXPECT_ALWAYS -1 365 #define EXPECT_MAYBE -2 375 uintmax_t
mock(
void);
377 #define mock() (_mock(__func__, __FILE__, __LINE__, NULL)).uint_val 404 #define mock_type(type) ((type) mock()) 435 #define has_mock() _has_mock(__func__) 455 #define mock_int() (_mock(__func__, __FILE__, __LINE__, NULL)).int_val 475 #define mock_uint() (_mock(__func__, __FILE__, __LINE__, "uintmax_t")).uint_val 489 #define mock_float() (_mock(__func__, __FILE__, __LINE__, NULL)).float_val 503 #define mock_double() (_mock(__func__, __FILE__, __LINE__, NULL)).real_val 529 #define mock_ptr_type(type) \ 530 ((type)(_mock(__func__, __FILE__, __LINE__, NULL)).ptr) 557 #define mock_ptr_type_checked(type) \ 558 ((type)(_mock(__func__, __FILE__, __LINE__, #type)).ptr) 597 #define mock_parameter(name) \ 598 (_mock_parameter(__func__, #name, __FILE__, __LINE__, NULL)).uint_val 624 #type mock_parameter_type(#name, #type); 626 #define mock_parameter_type(name, type) ((type) mock_parameter(#name)) 649 #define mock_parameter_int(name) \ 650 (_mock_parameter(__func__, #name, __FILE__, __LINE__, "intmax_t")).int_val 673 #define mock_parameter_uint(name) \ 674 (_mock_parameter(__func__, #name, __FILE__, __LINE__, "uintmax_t")).uint_val 697 #define mock_parameter_float(name) \ 698 (_mock_parameter(__func__, #name, __FILE__, __LINE__, "float")).float_val 721 #define mock_parameter_double(name) \ 722 (_mock_parameter(__func__, #name, __FILE__, __LINE__, "double")).real_val 744 #define mock_parameter_ptr(name) \ 745 ((_mock_parameter(__func__, #name, __FILE__, __LINE__, NULL)).ptr) 771 #define mock_parameter_ptr_type(name, type) \ 772 ((type)(_mock_parameter(__func__, #name, __FILE__, __LINE__, #type)).ptr) 785 #define mock_errno() \ 787 intmax_t err = (_mock_parameter( \ 835 #define will_return(function, value) \ 836 _will_return(cmocka_tostring(function), \ 840 cast_int_to_cmocka_value(value), \ 870 #define will_return_int(function, value) \ 871 _will_return(#function, \ 875 assign_int_to_cmocka_value(value), \ 915 #define will_return_int_count(function, value, count) \ 916 _will_return(#function, \ 920 assign_int_to_cmocka_value(value), \ 951 #define will_return_uint(function, value) \ 952 _will_return(#function, \ 956 assign_uint_to_cmocka_value(value), \ 996 #define will_return_uint_count(function, value, count) \ 997 _will_return(#function, \ 1001 assign_uint_to_cmocka_value(value), \ 1032 #define will_return_float(function, value) \ 1033 _will_return(#function, \ 1037 assign_float_to_cmocka_value(value), \ 1077 #define will_return_float_count(function, value, count) \ 1078 _will_return(#function, \ 1082 assign_float_to_cmocka_value(value), \ 1113 #define will_return_double(function, value) \ 1114 _will_return(#function, \ 1118 assign_double_to_cmocka_value(value), \ 1158 #define will_return_double_count(function, value, count) \ 1159 _will_return(#function, \ 1163 assign_double_to_cmocka_value(value), \ 1185 #define will_return_int_always(function, value) \ 1186 will_return_int_count(function, (value), WILL_RETURN_ALWAYS) 1208 #define will_return_uint_always(function, value) \ 1209 will_return_uint_count(function, (value), WILL_RETURN_ALWAYS) 1230 #define will_return_float_always(function, value) \ 1231 will_return_float_count(function, (value), WILL_RETURN_ALWAYS) 1252 #define will_return_double_always(function, value) \ 1253 will_return_double_count(function, (value), WILL_RETURN_ALWAYS) 1262 #define will_return_count(function, value, count) \ 1264 CMOCKA_DEPRECATION_WARNING( \ 1265 "will_return_count: use will_return_int_count or " \ 1266 "will_return_uint_count instead") \ 1267 _will_return(cmocka_tostring(function), \ 1271 cast_int_to_cmocka_value(value), \ 1282 #define will_return_always(function, value) \ 1284 CMOCKA_DEPRECATION_WARNING( \ 1285 "will_return_always: use will_return_int_always or " \ 1286 "will_return_uint_always instead") \ 1287 will_return_count(function, (value), WILL_RETURN_ALWAYS); \ 1315 #define will_return_int_maybe(function, value) \ 1316 will_return_int_count(function, (value), WILL_RETURN_ONCE) 1344 #define will_return_uint_maybe(function, value) \ 1345 will_return_uint_count(function, (value), WILL_RETURN_ONCE) 1372 #define will_return_float_maybe(function, value) \ 1373 will_return_float_count(function, (value), WILL_RETURN_ONCE) 1400 #define will_return_double_maybe(function, value) \ 1401 will_return_double_count(function, (value), WILL_RETURN_ONCE) 1410 #define will_return_maybe(function, value) \ 1412 CMOCKA_DEPRECATION_WARNING( \ 1413 "will_return_maybe: use will_return_int_maybe or " \ 1414 "will_return_uint_maybe instead") \ 1415 will_return_count(function, (value), WILL_RETURN_ONCE); \ 1446 #define will_return_ptr(function, value) \ 1447 _will_return(#function, \ 1451 cast_ptr_to_cmocka_value(value), \ 1486 #define will_return_ptr_type(function, value, type) \ 1487 _will_return(#function, \ 1491 cast_ptr_to_cmocka_value(value), \ 1513 #define will_return_ptr_count(function, value, count) \ 1514 _will_return(#function, \ 1518 cast_ptr_to_cmocka_value(value), \ 1540 #define will_return_ptr_always(function, value) \ 1541 will_return_ptr_count(function, (value), WILL_RETURN_ALWAYS) 1568 #define will_return_ptr_maybe(function, value) \ 1569 will_return_ptr_count(function, (value), WILL_RETURN_ONCE) 1619 #define will_set_parameter(function, name, value) \ 1620 _will_set_parameter(cmocka_tostring(function), \ 1625 cast_int_to_cmocka_value(value), \ 1663 #define will_set_parameter_int(function, name, value) \ 1664 _will_set_parameter(#function, \ 1669 assign_int_to_cmocka_value(value), \ 1709 #define will_set_parameter_uint(function, name, value) \ 1710 _will_set_parameter(#function, \ 1715 assign_uint_to_cmocka_value(value), \ 1754 #define will_set_parameter_float(function, name, value) \ 1755 _will_set_parameter(#function, \ 1760 assign_float_to_cmocka_value(value), \ 1800 #define will_set_parameter_double(function, name, value) \ 1801 _will_set_parameter(#function, \ 1806 assign_double_to_cmocka_value(value), \ 1832 #define will_set_parameter_int_count(function, name, value, count) \ 1833 _will_set_parameter(#function, \ 1838 assign_int_to_cmocka_value(value), \ 1867 #define will_set_parameter_uint_count(function, name, value, count) \ 1868 _will_set_parameter(#function, \ 1873 assign_uint_to_cmocka_value(value), \ 1899 #define will_set_parameter_float_count(function, name, value, count) \ 1900 _will_set_parameter(#function, \ 1905 assign_float_to_cmocka_value(value), \ 1931 #define will_set_parameter_double_count(function, name, value, count) \ 1932 _will_set_parameter(#function, \ 1937 assign_double_to_cmocka_value(value), \ 1948 #define will_set_parameter_count(function, name, value, count) \ 1950 CMOCKA_DEPRECATION_WARNING( \ 1951 "will_set_parameter_count: use will_set_parameter_int_count or " \ 1952 "will_set_parameter_uint_count instead") \ 1953 _will_set_parameter(cmocka_tostring(function), \ 1958 cast_int_to_cmocka_value(value), \ 1985 #define will_set_parameter_int_always(function, name, value) \ 1986 will_set_parameter_int_count(function, name, (value), WILL_RETURN_ALWAYS) 2011 #define will_set_parameter_uint_always(function, name, value) \ 2012 will_set_parameter_uint_count(function, name, (value), WILL_RETURN_ALWAYS) 2037 #define will_set_parameter_float_always(function, name, value) \ 2038 will_set_parameter_float_count(function, name, (value), WILL_RETURN_ALWAYS) 2063 #define will_set_parameter_double_always(function, name, value) \ 2064 will_set_parameter_double_count(function, name, (value), WILL_RETURN_ALWAYS) 2074 #define will_set_parameter_always(function, name, value) \ 2076 CMOCKA_DEPRECATION_WARNING( \ 2077 "will_set_parameter_always: use will_set_parameter_int_always or " \ 2078 "will_set_parameter_uint_always instead") \ 2079 will_set_parameter_count(function, name, (value), WILL_RETURN_ALWAYS); \ 2106 #define will_set_parameter_int_maybe(function, name, value) \ 2107 will_set_parameter_int_count(function, name, (value), WILL_RETURN_ONCE) 2133 #define will_set_parameter_uint_maybe(function, name, value) \ 2134 will_set_parameter_uint_count(function, name, (value), WILL_RETURN_ONCE) 2160 #define will_set_parameter_float_maybe(function, name, value) \ 2161 will_set_parameter_float_count(function, name, (value), WILL_RETURN_ONCE) 2187 #define will_set_parameter_double_maybe(function, name, value) \ 2188 will_set_parameter_double_count(function, name, (value), WILL_RETURN_ONCE) 2198 #define will_set_parameter_maybe(function, name, value) \ 2200 CMOCKA_DEPRECATION_WARNING( \ 2201 "will_set_parameter_maybe: use will_set_parameter_int_maybe or " \ 2202 "will_set_parameter_uint_maybe instead") \ 2203 will_set_parameter_count(function, name, (value), WILL_RETURN_ONCE); \ 2238 #define will_set_parameter_ptr(function, name, value) \ 2239 _will_set_parameter(#function, \ 2244 cast_ptr_to_cmocka_value(value), \ 2284 #define will_set_parameter_ptr_type(function, name, value, type) \ 2285 _will_set_parameter(#function, \ 2290 cast_ptr_to_cmocka_value(value), \ 2335 #define will_set_parameter_ptr_count(function, name, value, count) \ 2336 _will_set_parameter(#function, \ 2341 cast_ptr_to_cmocka_value(value), \ 2374 #define will_set_parameter_ptr_always(function, name, value) \ 2375 will_set_parameter_ptr_count(function, name, (value), WILL_RETURN_ALWAYS) 2409 #define will_set_parameter_ptr_maybe(function, name, value) \ 2410 will_set_parameter_ptr_count(function, name, (value), WILL_RETURN_ONCE) 2440 #define will_set_errno(function, value) \ 2441 _will_set_parameter(#function, \ 2446 assign_int_to_cmocka_value(value), \ 2491 #define will_set_errno_count(function, value, count) \ 2492 _will_set_parameter(#function, \ 2497 assign_int_to_cmocka_value(value), \ 2526 #define will_set_errno_always(function, value) \ 2527 will_set_errno_count(function, (value), WILL_RETURN_ALWAYS); 2555 #define will_set_errno_maybe(function, value) \ 2556 will_set_errno_count(function, (value), WILL_RETURN_ONCE); 2614 const void *check_data);
2616 #define expect_check(function, parameter, check_function, check_data) \ 2618 CMOCKA_DEPRECATION_WARNING( \ 2619 "expect_check: use expect_check_data instead") \ 2620 _expect_check(cmocka_tostring(function), \ 2621 cmocka_tostring(parameter), \ 2625 cast_to_uintmax_type(check_data), \ 2639 const void *check_data,
2642 #define expect_check_count( \ 2643 function, parameter, check_function, check_data, count) \ 2645 CMOCKA_DEPRECATION_WARNING( \ 2646 "expect_check_count: use expect_check_data_count instead") \ 2647 _expect_check(cmocka_tostring(function), \ 2648 cmocka_tostring(parameter), \ 2652 cast_to_uintmax_type(check_data), \ 2819 #define expect_check_data(function, parameter, check_function, check_data) \ 2820 _expect_check_data(cmocka_tostring(function), \ 2821 cmocka_tostring(parameter), \ 2901 #define expect_check_data_count(function, \ 2906 _expect_check_data(cmocka_tostring(function), \ 2907 cmocka_tostring(parameter), \ 2920 void expect_in_set(#
function, #parameter, uintmax_t value_array[]);
2922 #define expect_in_set(function, parameter, value_array) \ 2924 CMOCKA_DEPRECATION_WARNING("expect_in_set: use expect_int_in_set or " \ 2925 "expect_uint_in_set instead") \ 2926 expect_in_set_count(function, parameter, value_array, 1); \ 2945 void expect_in_set(#
function, #parameter, intmax_t value_array[]);
2947 #define expect_int_in_set(function, parameter, value_array) \ 2948 expect_int_in_set_count(function, parameter, value_array, 1) 2966 void expect_in_set(#
function, #parameter, intmax_t value_array[]);
2968 #define expect_uint_in_set(function, parameter, value_array) \ 2969 expect_uint_in_set_count(function, parameter, value_array, 1) 2978 #define expect_in_set_count(function, parameter, value_array, count) \ 2980 CMOCKA_DEPRECATION_WARNING( \ 2981 "expect_in_set_count: use expect_int_in_set_count or " \ 2982 "expect_uint_in_set_count instead") \ 2983 _expect_uint_in_set(cmocka_tostring(function), \ 2984 cmocka_tostring(parameter), \ 2988 sizeof(value_array) / sizeof((value_array)[0]), \ 3014 #define expect_int_in_set_count(function, parameter, value_array, count) \ 3015 _expect_int_in_set(cmocka_tostring(function), \ 3016 cmocka_tostring(parameter), \ 3020 sizeof(value_array) / sizeof((value_array)[0]), \ 3045 #define expect_uint_in_set_count(function, parameter, value_array, count) \ 3046 _expect_uint_in_set(cmocka_tostring(function), \ 3047 cmocka_tostring(parameter), \ 3051 sizeof(value_array) / sizeof((value_array)[0]), \ 3061 #define expect_not_in_set(function, parameter, value_array) \ 3063 CMOCKA_DEPRECATION_WARNING( \ 3064 "expect_not_in_set: use expect_int_not_in_set or " \ 3065 "expect_uint_not_in_set instead") \ 3066 expect_not_in_set_count(function, parameter, value_array, 1); \ 3076 #define expect_not_in_set_count(function, parameter, value_array, count) \ 3078 CMOCKA_DEPRECATION_WARNING( \ 3079 "expect_not_in_set_count: use expect_int_not_in_set_count or " \ 3080 "expect_uint_not_in_set_count instead") \ 3081 _expect_not_in_set(cmocka_tostring(function), \ 3082 cmocka_tostring(parameter), \ 3086 sizeof(value_array) / sizeof((value_array)[0]), \ 3108 #define expect_int_not_in_set(function, parameter, value_array) \ 3109 expect_int_not_in_set_count(function, parameter, value_array, 1) 3133 intmax_t value_array[],
3136 #define expect_int_not_in_set_count(function, parameter, value_array, count) \ 3137 _expect_int_not_in_set(cmocka_tostring(function), \ 3138 cmocka_tostring(parameter), \ 3142 sizeof(value_array) / sizeof((value_array)[0]), \ 3163 #define expect_uint_not_in_set(function, parameter, value_array) \ 3164 expect_uint_not_in_set_count(function, parameter, value_array, 1) 3188 uintmax_t value_array[],
3191 #define expect_uint_not_in_set_count(function, parameter, value_array, count) \ 3192 _expect_uint_not_in_set(cmocka_tostring(function), \ 3193 cmocka_tostring(parameter), \ 3197 sizeof(value_array) / sizeof((value_array)[0]), \ 3220 #define expect_float_in_set(function, parameter, value_array, epsilon) \ 3221 expect_float_in_set_count(function, parameter, value_array, epsilon, 1) 3247 #define expect_float_in_set_count(function, parameter, value_array, epsilon, count) \ 3248 _expect_float_in_set(cmocka_tostring(function), \ 3249 cmocka_tostring(parameter), \ 3253 sizeof(value_array) / sizeof((value_array)[0]), \ 3277 #define expect_float_not_in_set(function, parameter, value_array, epsilon) \ 3278 expect_float_not_in_set_count(function, parameter, value_array, epsilon, 1) 3304 #define expect_float_not_in_set_count(function, parameter, value_array, epsilon, count) \ 3305 _expect_float_not_in_set(cmocka_tostring(function), \ 3306 cmocka_tostring(parameter), \ 3310 sizeof(value_array) / sizeof((value_array)[0]), \ 3320 void expect_in_range(#
function, #parameter, uintmax_t minimum, uintmax_t maximum);
3322 #define expect_in_range(function, parameter, minimum, maximum) \ 3324 CMOCKA_DEPRECATION_WARNING( \ 3325 "expect_in_range: use expect_int_in_range or " \ 3326 "expect_uint_in_range instead") \ 3327 expect_in_range_count(function, parameter, minimum, maximum, 1); \ 3335 void expect_in_range_count(#
function, #parameter, uintmax_t minimum, uintmax_t maximum,
size_t count);
3337 #define expect_in_range_count(function, parameter, minimum, maximum, count) \ 3339 CMOCKA_DEPRECATION_WARNING( \ 3340 "expect_in_range_count: use expect_int_in_range_count or " \ 3341 "expect_uint_in_range_count instead") \ 3342 _expect_in_range(cmocka_tostring(function), \ 3343 cmocka_tostring(parameter), \ 3374 #define expect_int_in_range(function, parameter, minimum, maximum) \ 3375 expect_int_in_range_count(function, parameter, minimum, maximum, 1) 3405 #define expect_int_in_range_count( \ 3406 function, parameter, minimum, maximum, count) \ 3407 _expect_int_in_range(cmocka_tostring(function), \ 3408 cmocka_tostring(parameter), \ 3438 #define expect_uint_in_range(function, parameter, minimum, maximum) \ 3439 expect_uint_in_range_count(function, parameter, minimum, maximum, 1) 3470 #define expect_uint_in_range_count( \ 3471 function, parameter, minimum, maximum, count) \ 3472 _expect_uint_in_range(cmocka_tostring(function), \ 3473 cmocka_tostring(parameter), \ 3500 #define expect_not_in_range(function, parameter, minimum, maximum) \ 3501 expect_not_in_range_count(function, parameter, minimum, maximum, 1) 3527 #define expect_not_in_range_count(function, parameter, minimum, maximum, \ 3529 _expect_not_in_range(cmocka_tostring(function), cmocka_tostring(parameter), __FILE__, __LINE__, \ 3530 minimum, maximum, count) 3555 #define expect_int_not_in_range(function, parameter, minimum, maximum) \ 3556 expect_int_not_in_range_count(function, parameter, minimum, maximum, 1) 3586 #define expect_int_not_in_range_count( \ 3587 function, parameter, minimum, maximum, count) \ 3588 _expect_int_not_in_range(cmocka_tostring(function), \ 3589 cmocka_tostring(parameter), \ 3619 #define expect_uint_not_in_range(function, parameter, minimum, maximum) \ 3620 expect_uint_not_in_range_count(function, parameter, minimum, maximum, 1) 3651 #define expect_uint_not_in_range_count( \ 3652 function, parameter, minimum, maximum, count) \ 3653 _expect_uint_not_in_range(cmocka_tostring(function), \ 3654 cmocka_tostring(parameter), \ 3683 #define expect_float_in_range(function, parameter, minimum, maximum, epsilon) \ 3684 expect_float_in_range_count(function, parameter, minimum, maximum, epsilon, 1) 3712 #define expect_float_in_range_count(function, parameter, minimum, maximum, epsilon, count) \ 3713 _expect_float_in_range(cmocka_tostring(function), \ 3714 cmocka_tostring(parameter), \ 3717 cast_to_double_type(minimum), \ 3718 cast_to_double_type(maximum), \ 3719 cast_to_double_type(epsilon), \ 3744 #define expect_float_not_in_range(function, parameter, minimum, maximum, epsilon) \ 3745 expect_float_not_in_range_count(function, parameter, minimum, maximum, epsilon, 1) 3773 #define expect_float_not_in_range_count(function, parameter, minimum, maximum, \ 3775 _expect_float_not_in_range(cmocka_tostring(function), \ 3776 cmocka_tostring(parameter), \ 3779 cast_to_double_type(minimum), \ 3780 cast_to_double_type(maximum), \ 3781 cast_to_double_type(epsilon), \ 3789 void expect_value(#
function, #parameter, uintmax_t value);
3791 #define expect_value(function, parameter, value) \ 3793 CMOCKA_DEPRECATION_WARNING("expect_value: use expect_int_value or " \ 3794 "expect_uint_value instead") \ 3795 expect_value_count(function, parameter, value, 1); \ 3805 #define expect_value_count(function, parameter, value, count) \ 3807 CMOCKA_DEPRECATION_WARNING( \ 3808 "expect_value_count: use expect_int_value_count or " \ 3809 "expect_uint_value_count instead") \ 3810 _expect_value(cmocka_tostring(function), \ 3811 cmocka_tostring(parameter), \ 3814 cast_to_uintmax_type(value), \ 3835 #define expect_int_value(function, parameter, value) \ 3836 expect_int_value_count(function, parameter, value, 1) 3863 #define expect_int_value_count(function, parameter, value, count) \ 3864 _expect_int_value(cmocka_tostring(function), \ 3865 cmocka_tostring(parameter), \ 3889 #define expect_uint_value(function, parameter, value) \ 3890 expect_uint_value_count(function, parameter, value, 1) 3917 #define expect_uint_value_count(function, parameter, value, count) \ 3918 _expect_uint_value(cmocka_tostring(function), \ 3919 cmocka_tostring(parameter), \ 3942 #define expect_int_not_value(function, parameter, value) \ 3943 expect_int_not_value_count(function, parameter, value, 1) 3970 #define expect_int_not_value_count(function, parameter, value, count) \ 3971 _expect_int_not_value(cmocka_tostring(function), \ 3972 cmocka_tostring(parameter), \ 3995 #define expect_uint_not_value(function, parameter, value) \ 3996 expect_uint_not_value_count(function, parameter, value, 1) 4023 #define expect_uint_not_value_count(function, parameter, value, count) \ 4024 _expect_uint_not_value(cmocka_tostring(function), \ 4025 cmocka_tostring(parameter), \ 4038 #define expect_not_value(function, parameter, value) \ 4040 CMOCKA_DEPRECATION_WARNING( \ 4041 "expect_not_value: use expect_int_not_value or " \ 4042 "expect_uint_not_value instead") \ 4043 expect_not_value_count(function, parameter, value, 1); \ 4053 #define expect_not_value_count(function, parameter, value, count) \ 4055 CMOCKA_DEPRECATION_WARNING( \ 4056 "expect_not_value_count: use expect_int_not_value_count or " \ 4057 "expect_uint_not_value_count instead") \ 4058 _expect_not_value(cmocka_tostring(function), \ 4059 cmocka_tostring(parameter), \ 4062 cast_to_uintmax_type(value), \ 4086 void expect_float(#
function, #parameter,
double value,
double epsilon);
4088 #define expect_float(function, parameter, value, epsilon) \ 4089 expect_float_count(function, parameter, cast_to_double_type(value), \ 4090 cast_to_double_type(epsilon), 1) 4116 void expect_float_count(#
function, #parameter,
double value,
double epsilon,
size_t count);
4118 #define expect_float_count(function, parameter, value, epsilon, count) \ 4119 _expect_float(cmocka_tostring(function), cmocka_tostring(parameter), __FILE__, __LINE__, \ 4120 cast_to_double_type(value), cast_to_double_type(epsilon), count) 4143 void expect_not_float(#
function, #parameter,
double value,
double epsilon);
4145 #define expect_not_float(function, parameter, value, epsilon) \ 4146 expect_not_float_count(function, \ 4148 cast_to_float_type(value), \ 4149 cast_to_float_type(epsilon), \ 4178 #define expect_not_float_count(function, parameter, value, epsilon, count) \ 4179 _expect_not_float(cmocka_tostring(function), \ 4180 cmocka_tostring(parameter), \ 4183 cast_to_float_type(value), \ 4184 cast_to_float_type(epsilon), \ 4206 void expect_double(#
function, #parameter,
double value,
double epsilon);
4208 #define expect_double(function, parameter, value, epsilon) \ 4209 expect_double_count(function, \ 4211 cast_to_double_type(value), \ 4212 cast_to_double_type(epsilon), \ 4244 #define expect_double_count(function, parameter, value, epsilon, count) \ 4245 _expect_double(cmocka_tostring(function), \ 4246 cmocka_tostring(parameter), \ 4249 cast_to_double_type(value), \ 4250 cast_to_double_type(epsilon), \ 4274 #define expect_not_double(function, parameter, value, epsilon) \ 4275 expect_not_double_count(function, \ 4277 cast_to_double_type(value), \ 4278 cast_to_double_type(epsilon), \ 4310 #define expect_not_double_count(function, parameter, value, epsilon, count) \ 4311 _expect_not_double(cmocka_tostring(function), \ 4312 cmocka_tostring(parameter), \ 4315 cast_to_double_type(value), \ 4316 cast_to_double_type(epsilon), \ 4335 void expect_string(#
function, #parameter,
const char *
string);
4337 #define expect_string(function, parameter, string) \ 4338 expect_string_count(function, parameter, string, 1) 4362 #define expect_string_count(function, parameter, string, count) \ 4363 _expect_string(cmocka_tostring(function), cmocka_tostring(parameter), __FILE__, __LINE__, \ 4364 (const char*)(string), count) 4384 #define expect_not_string(function, parameter, string) \ 4385 expect_not_string_count(function, parameter, string, 1) 4409 #define expect_not_string_count(function, parameter, string, count) \ 4410 _expect_not_string(cmocka_tostring(function), cmocka_tostring(parameter), __FILE__, __LINE__, \ 4411 (const char*)(string), count) 4430 void expect_memory(#
function, #parameter,
void *memory,
size_t size);
4432 #define expect_memory(function, parameter, memory, size) \ 4433 expect_memory_count(function, parameter, memory, size, 1) 4459 #define expect_memory_count(function, parameter, memory, size, count) \ 4460 _expect_memory(cmocka_tostring(function), cmocka_tostring(parameter), __FILE__, __LINE__, \ 4461 (const void*)(memory), size, count) 4483 #define expect_not_memory(function, parameter, memory, size) \ 4484 expect_not_memory_count(function, parameter, memory, size, 1) 4510 #define expect_not_memory_count(function, parameter, memory, size, count) \ 4511 _expect_not_memory(cmocka_tostring(function), cmocka_tostring(parameter), __FILE__, __LINE__, \ 4512 (const void*)(memory), size, count) 4530 #define expect_any(function, parameter) \ 4531 expect_any_count(function, parameter, 1) 4548 #define expect_any_always(function, parameter) \ 4549 expect_any_count(function, parameter, WILL_RETURN_ALWAYS) 4571 #define expect_any_count(function, parameter, count) \ 4572 _expect_any(cmocka_tostring(function), cmocka_tostring(parameter), __FILE__, __LINE__, count) 4582 #define check_expected(parameter) \ 4584 CMOCKA_DEPRECATION_WARNING( \ 4585 "check_expected: use check_expected_int or " \ 4586 "check_expected_uint instead") \ 4587 _check_expected(__func__, \ 4591 cast_int_to_cmocka_value(parameter)); \ 4625 #define check_expected_any(parameter) \ 4626 _check_expected(__func__, #parameter, __FILE__, __LINE__, \ 4627 cast_ptr_to_cmocka_value(&(parameter))) 4643 #define check_expected_ptr(parameter) \ 4644 _check_expected(__func__, #parameter, __FILE__, __LINE__, \ 4645 cast_ptr_to_cmocka_value(parameter)) 4661 #define check_expected_int(parameter) \ 4662 _check_expected(__func__, \ 4666 assign_int_to_cmocka_value(parameter)) 4682 #define check_expected_uint(parameter) \ 4683 _check_expected(__func__, \ 4687 assign_uint_to_cmocka_value(parameter)) 4708 #define check_expected_float(parameter) \ 4709 _check_expected(__func__, \ 4713 assign_float_to_cmocka_value(parameter)) 4734 #define check_expected_double(parameter) \ 4735 _check_expected(__func__, \ 4739 assign_double_to_cmocka_value(parameter)) 4782 #define assert_true(c) _assert_true(cast_to_uintmax_type(c), #c, \ 4800 #define assert_false(c) _assert_false(cast_to_uintmax_type(c), #c, \ 4819 #define assert_return_code(rc, error) \ 4820 _assert_return_code((rc), \ 4822 #rc, __FILE__, __LINE__) 4838 #define assert_non_null(c) assert_ptr_not_equal((c), NULL) 4856 #define assert_non_null_msg(c, msg) assert_ptr_not_equal_msg((c), NULL, (msg)) 4872 #define assert_null(c) assert_ptr_equal((c), NULL) 4890 #define assert_null_msg(c, msg) assert_ptr_equal_msg((c), NULL, (msg)) 4906 #define assert_ptr_equal(a, b) assert_ptr_equal_msg((a), (b), NULL) 4924 #define assert_ptr_equal_msg(a, b, msg) \ 4925 _assert_ptr_equal_msg(cast_to_void_pointer(a), \ 4926 cast_to_void_pointer(b), \ 4927 __FILE__, __LINE__, (msg)) 4943 #define assert_ptr_not_equal(a, b) \ 4944 assert_ptr_not_equal_msg((a), (b), NULL) 4963 #if defined(__has_builtin) 4965 #if __has_builtin(__builtin_unreachable) 4966 #define assert_ptr_not_equal_msg(a, b, msg) \ 4968 const void *cmocka_p1 = cast_to_void_pointer(a), \ 4969 *cmocka_p2 = cast_to_void_pointer(b); \ 4970 _assert_ptr_not_equal_msg( \ 4971 cmocka_p1, cmocka_p2, __FILE__, __LINE__, (msg)); \ 4972 if (cmocka_p1 == cmocka_p2) { \ 4973 __builtin_unreachable(); \ 4977 #define assert_ptr_not_equal_msg(a, b, msg) \ 4978 _assert_ptr_not_equal_msg(cast_to_void_pointer(a), \ 4979 cast_to_void_pointer(b), \ 4986 #define assert_ptr_not_equal_msg(a, b, msg) \ 4987 _assert_ptr_not_equal_msg(cast_to_void_pointer(a), \ 4988 cast_to_void_pointer(b), \ 5009 #define assert_int_equal(a, b) \ 5010 _assert_int_equal(cast_to_intmax_type(a), \ 5011 cast_to_intmax_type(b), \ 5028 #define assert_uint_equal(a, b) \ 5029 _assert_uint_equal(cast_to_uintmax_type(a), \ 5030 cast_to_uintmax_type(b), \ 5049 #define assert_int_not_equal(a, b) \ 5050 _assert_int_not_equal(cast_to_intmax_type(a), \ 5051 cast_to_intmax_type(b), \ 5068 #define assert_uint_not_equal(a, b) \ 5069 _assert_uint_not_equal(cast_to_uintmax_type(a), \ 5070 cast_to_uintmax_type(b), \ 5089 #define assert_float_equal(a, b, epsilon) \ 5090 _assert_float_equal((float)a, \ 5111 #define assert_float_not_equal(a, b, epsilon) \ 5112 _assert_float_not_equal((float)a, \ 5133 #define assert_double_equal(a, b, epsilon) \ 5134 _assert_double_equal((double)a, \ 5155 #define assert_double_not_equal(a, b, epsilon) \ 5156 _assert_double_not_equal((double)a, \ 5176 #define assert_string_equal(a, b) \ 5177 _assert_string_equal((a), (b), __FILE__, __LINE__) 5193 #define assert_string_not_equal(a, b) \ 5194 _assert_string_not_equal((a), (b), __FILE__, __LINE__) 5214 #define assert_memory_equal(a, b, size) \ 5215 _assert_memory_equal((const void*)(a), (const void*)(b), size, __FILE__, \ 5236 #define assert_memory_not_equal(a, b, size) \ 5237 _assert_memory_not_equal((const void*)(a), (const void*)(b), size, \ 5257 #define assert_int_in_range(value, minimum, maximum) \ 5258 _assert_int_in_range( \ 5259 cast_to_intmax_type(value), \ 5260 cast_to_intmax_type(minimum), \ 5261 cast_to_intmax_type(maximum), __FILE__, __LINE__) 5280 #define assert_uint_in_range(value, minimum, maximum) \ 5281 _assert_uint_in_range( \ 5282 cast_to_intmax_type(value), \ 5283 cast_to_intmax_type(minimum), \ 5284 cast_to_intmax_type(maximum), __FILE__, __LINE__) 5308 #define assert_int_not_in_range(value, minimum, maximum) \ 5309 _assert_int_not_in_range(cast_to_intmax_type(value), \ 5310 cast_to_intmax_type(minimum), \ 5311 cast_to_intmax_type(maximum), \ 5337 #define assert_uint_not_in_range(value, minimum, maximum) \ 5338 _assert_uint_not_in_range(cast_to_uintmax_type(value), \ 5339 cast_to_uintmax_type(minimum), \ 5340 cast_to_uintmax_type(maximum), \ 5349 void assert_in_range(uintmax_t value, uintmax_t minimum, uintmax_t maximum);
5351 #define assert_in_range(value, minimum, maximum) \ 5353 CMOCKA_DEPRECATION_WARNING( \ 5354 "assert_in_range: use assert_int_in_range or " \ 5355 "assert_uint_in_range instead") \ 5356 _assert_uint_in_range(cast_to_uintmax_type(value), \ 5357 cast_to_uintmax_type(minimum), \ 5358 cast_to_uintmax_type(maximum), \ 5370 #define assert_not_in_range(value, minimum, maximum) \ 5372 CMOCKA_DEPRECATION_WARNING( \ 5373 "assert_not_in_range: use assert_int_not_in_range or " \ 5374 "assert_uint_not_in_range instead") \ 5375 _assert_uint_not_in_range(cast_to_uintmax_type(value), \ 5376 cast_to_uintmax_type(minimum), \ 5377 cast_to_uintmax_type(maximum), \ 5404 #define assert_float_not_in_range(value, minimum, maximum, epsilon) \ 5405 _assert_float_not_in_range(cast_to_double_type(value), \ 5406 cast_to_double_type(minimum), \ 5407 cast_to_double_type(maximum), \ 5408 cast_to_double_type(epsilon), \ 5431 #define assert_float_in_range(value, minimum, maximum, epsilon) \ 5432 _assert_float_in_range( \ 5433 cast_to_double_type(value), \ 5434 cast_to_double_type(minimum), \ 5435 cast_to_double_type(maximum), \ 5436 cast_to_double_type(epsilon), __FILE__, __LINE__) 5443 void assert_in_set(uintmax_t value, uintmax_t values[],
size_t count);
5445 #define assert_in_set(value, values, number_of_values) \ 5447 CMOCKA_DEPRECATION_WARNING("assert_in_set: use assert_int_in_set or " \ 5448 "assert_uint_in_set instead") \ 5449 _assert_uint_in_set( \ 5450 value, values, number_of_values, __FILE__, __LINE__); \ 5469 #define assert_not_in_set(value, values, number_of_values) \ 5470 _assert_not_in_set(value, values, number_of_values, __FILE__, __LINE__) 5488 #define assert_int_in_set(value, values, number_of_values) \ 5489 if (number_of_values > 0) { \ 5490 intmax_t _cmocka_set[number_of_values]; \ 5491 for (size_t _i = 0; _i < number_of_values; _i++) { \ 5492 _cmocka_set[_i] = values[_i]; \ 5494 _assert_int_in_set(value, _cmocka_set, number_of_values, __FILE__, __LINE__); \ 5513 #define assert_int_not_in_set(value, values, number_of_values) \ 5514 if (number_of_values > 0) { \ 5515 intmax_t _cmocka_set[number_of_values]; \ 5516 for (size_t _i = 0; _i < number_of_values; _i++) { \ 5517 _cmocka_set[_i] = values[_i]; \ 5519 _assert_int_not_in_set(value, _cmocka_set, number_of_values, __FILE__, __LINE__); \ 5538 #define assert_uint_in_set(value, values, number_of_values) \ 5539 if (number_of_values > 0) { \ 5540 uintmax_t _cmocka_set[number_of_values]; \ 5541 for (size_t _i = 0; _i < number_of_values; _i++) { \ 5542 _cmocka_set[_i] = values[_i]; \ 5544 _assert_uint_in_set(value, _cmocka_set, number_of_values, __FILE__, __LINE__); \ 5563 #define assert_uint_not_in_set(value, values, number_of_values) \ 5564 if (number_of_values > 0) { \ 5565 uintmax_t _cmocka_set[number_of_values]; \ 5566 for (size_t _i = 0; _i < number_of_values; _i++) { \ 5567 _cmocka_set[_i] = values[_i]; \ 5569 _assert_uint_not_in_set(value, _cmocka_set, number_of_values, __FILE__, __LINE__); \ 5590 #define assert_float_in_set(value, values, number_of_values, epsilon) \ 5591 if (number_of_values > 0) { \ 5592 double _cmocka_set[number_of_values]; \ 5593 for (size_t _i = 0; _i < number_of_values; _i++) { \ 5594 _cmocka_set[_i] = values[_i]; \ 5596 _assert_float_in_set(value, _cmocka_set, number_of_values, epsilon, __FILE__, __LINE__); \ 5617 #define assert_float_not_in_set(value, values, number_of_values, epsilon) \ 5618 if (number_of_values > 0) { \ 5619 double _cmocka_set[number_of_values]; \ 5620 for (size_t _i = 0; _i < number_of_values; _i++) { \ 5621 _cmocka_set[_i] = values[_i]; \ 5623 _assert_float_not_in_set(value, _cmocka_set, number_of_values, epsilon, __FILE__, __LINE__); \ 5702 #define function_called() _function_called(__func__, __FILE__, __LINE__) 5718 #define expect_function_calls(function, times) \ 5719 _expect_function_call(cmocka_tostring(function), __FILE__, __LINE__, times) 5733 #define expect_function_call(function) \ 5734 _expect_function_call(cmocka_tostring(function), __FILE__, __LINE__, 1) 5747 #define expect_function_call_any(function) \ 5748 _expect_function_call(cmocka_tostring(function), __FILE__, __LINE__, -1) 5761 #define ignore_function_calls(function) \ 5762 _expect_function_call(cmocka_tostring(function), __FILE__, __LINE__, -2) 5805 #define fail() _fail(__FILE__, __LINE__) 5814 #define skip() _skip(__FILE__, __LINE__) 5828 #define stop() _stop() 5846 void fail_msg(
const char *msg, ...);
5848 #define fail_msg(msg, ...) do { \ 5849 cmocka_print_error("ERROR: " msg "\n", ##__VA_ARGS__); \ 5854 static inline void _unit_test_dummy(
void **state) {
5862 #define unit_test(f) \ 5863 (CMOCKA_DEPRECATION_WARNING("unit_test: use cmocka_unit_test instead")( \ 5864 UnitTest){#f, f, UNIT_TEST_FUNCTION_TYPE_TEST}) 5867 #define _unit_test_setup(test, setup) \ 5868 { #test "_" #setup, setup, UNIT_TEST_FUNCTION_TYPE_SETUP } 5875 #define unit_test_setup(test, setup) \ 5876 CMOCKA_DEPRECATION_WARNING( \ 5877 "unit_test_setup: use cmocka_unit_test_setup instead") \ 5878 _unit_test_setup(test, setup), unit_test(test), \ 5879 _unit_test_teardown(test, _unit_test_dummy) 5882 #define _unit_test_teardown(test, teardown) \ 5883 { #test "_" #teardown, teardown, UNIT_TEST_FUNCTION_TYPE_TEARDOWN } 5890 #define unit_test_teardown(test, teardown) \ 5891 CMOCKA_DEPRECATION_WARNING( \ 5892 "unit_test_teardown: use cmocka_unit_test_teardown instead") \ 5893 _unit_test_setup(test, _unit_test_dummy), unit_test(test), \ 5894 _unit_test_teardown(test, teardown) 5900 #define group_test_setup(setup) \ 5901 (CMOCKA_DEPRECATION_WARNING( \ 5902 "group_test_setup: use cmocka_run_group_tests instead")(UnitTest){ \ 5903 "group_" #setup, setup, UNIT_TEST_FUNCTION_TYPE_GROUP_SETUP}) 5909 #define group_test_teardown(teardown) \ 5910 (CMOCKA_DEPRECATION_WARNING( \ 5911 "group_test_teardown: use cmocka_run_group_tests instead")(UnitTest){ \ 5912 "group_" #teardown, teardown, UNIT_TEST_FUNCTION_TYPE_GROUP_TEARDOWN}) 5921 #define unit_test_setup_teardown(test, setup, teardown) \ 5922 CMOCKA_DEPRECATION_WARNING("unit_test_setup_teardown: use " \ 5923 "cmocka_unit_test_setup_teardown instead") \ 5924 _unit_test_setup(test, setup), unit_test(test), \ 5925 _unit_test_teardown(test, teardown) 5928 #define cmocka_unit_test(f) { #f, f, NULL, NULL, NULL } 5931 #define cmocka_unit_test_setup(f, setup) { #f, f, setup, NULL, NULL } 5934 #define cmocka_unit_test_teardown(f, teardown) { #f, f, NULL, teardown, NULL } 5940 #define cmocka_unit_test_setup_teardown(f, setup, teardown) { #f, f, setup, teardown, NULL } 5949 #define cmocka_unit_test_prestate(f, state) { #f, f, NULL, NULL, state } 5958 #define cmocka_unit_test_prestate_setup_teardown(f, setup, teardown, state) { #f, f, setup, teardown, state } 6021 # define cmocka_run_group_tests(group_tests, group_setup, group_teardown) \ 6022 _cmocka_run_group_tests(#group_tests, group_tests, sizeof(group_tests) / sizeof((group_tests)[0]), group_setup, group_teardown) 6090 # define cmocka_run_group_tests_name(group_name, group_tests, group_setup, group_teardown) \ 6091 _cmocka_run_group_tests(group_name, group_tests, sizeof(group_tests) / sizeof((group_tests)[0]), group_setup, group_teardown) 6181 #define test_malloc(size) _test_malloc(size, __FILE__, __LINE__) 6200 #define test_calloc(num, size) _test_calloc(num, size, __FILE__, __LINE__) 6216 #define test_realloc(ptr, size) _test_realloc(ptr, size, __FILE__, __LINE__) 6229 #define test_free(ptr) _test_free(ptr, __FILE__, __LINE__) 6232 #if defined(UNIT_TESTING) && defined(ALLOCATION_TESTING) 6233 #define malloc test_malloc 6234 #define realloc test_realloc 6235 #define calloc test_calloc 6236 #define free test_free 6292 void mock_assert(
const int result,
const char*
const expression,
6293 const char *
const file,
const int line);
6320 #define expect_assert_failure(function_call) \ 6322 global_expecting_assert = 1; \ 6323 if (setjmp(global_expect_assert_env) != 0) { \ 6324 print_message("Expected assertion %s occurred\n", \ 6325 global_last_failed_assert); \ 6326 global_expecting_assert = 0; \ 6329 global_expecting_assert = 0; \ 6330 print_error("Expected assert in %s\n", #function_call); \ 6331 _fail(__FILE__, __LINE__); \ 6362 void *(*func)(void);
6370 #define LargestIntegralType uintmax_t 6375 #if defined(__GNUC__) 6376 #define cast_ptr_to_largest_integral_type(value) \ 6378 CMOCKA_DEPRECATION_WARNING( \ 6379 "cast_ptr_to_largest_integral_type: " \ 6380 "use cast_ptr_to_uintmax_type instead"); \ 6381 cast_ptr_to_uintmax_type(value); \ 6384 #define cast_ptr_to_largest_integral_type(value) \ 6385 cast_ptr_to_uintmax_type(value) 6402 const uintmax_t check_value_data);
6418 const intmax_t check_value_data);
6426 const uintmax_t check_value_data);
6434 UNIT_TEST_FUNCTION_TYPE_TEST = 0,
6435 UNIT_TEST_FUNCTION_TYPE_SETUP,
6436 UNIT_TEST_FUNCTION_TYPE_TEARDOWN,
6437 UNIT_TEST_FUNCTION_TYPE_GROUP_SETUP,
6438 UNIT_TEST_FUNCTION_TYPE_GROUP_TEARDOWN,
6461 const size_t number_of_tests;
6486 void *initial_state;
6506 const char *parameter_name;
6508 uintmax_t check_value_data;
6518 const char *parameter_name;
6538 void print_message(
const char*
const format, ...) CMOCKA_PRINTF_ATTRIBUTE(1, 2);
6539 void print_error(const
char* const format, ...) CMOCKA_PRINTF_ATTRIBUTE(1, 2);
6540 void vprint_message(const
char* const format, va_list args) CMOCKA_PRINTF_ATTRIBUTE(1, 0);
6541 void vprint_error(const
char* const format, va_list args) CMOCKA_PRINTF_ATTRIBUTE(1, 0);
6557 void (*vprint_message)(
const char *
const format, va_list args);
6566 void (*vprint_error)(
const char *
const format, va_list args);
6612 #define cm_print_error(format, ...) \ 6614 CMOCKA_DEPRECATION_WARNING( \ 6615 "cm_print_error: use cmocka_print_error instead") \ 6616 cmocka_print_error(format, ##__VA_ARGS__); \ 6632 void cmocka_print_error(
const char*
const format, ...) CMOCKA_PRINTF_ATTRIBUTE(1, 2);
6700 CMOCKA_DLLEXTERN extern
int global_expecting_assert;
6701 CMOCKA_DLLEXTERN extern jmp_buf global_expect_assert_env;
6702 CMOCKA_DLLEXTERN extern const
char * global_last_failed_assert;
6706 const
char *const file,
6712 const
char *const file,
6716 bool _has_mock(const
char *const function);
6718 void _expect_function_call(
6719 const
char * const function_name,
6720 const
char * const file,
6724 void _function_called(const
char * const function, const
char* const file,
6729 const
char* const function, const
char* const parameter,
6730 const
char* const file, const
int line,
6733 const
int count) CMOCKA_DEPRECATED;
6736 void _expect_check_data(
6737 const
char* const function, const
char* const parameter,
6738 const
char* const file, const
int line,
6743 void _expect_int_in_set(const
char *const function,
6744 const
char *const parameter,
6745 const
char *const file,
6747 const intmax_t values[],
6748 const
size_t number_of_values,
6749 const
size_t count);
6750 void _expect_uint_in_set(const
char *const function,
6751 const
char *const parameter,
6752 const
char *const file,
6754 const uintmax_t values[],
6755 const
size_t number_of_values,
6756 const
size_t count);
6758 void _expect_float_in_set(const
char *const function,
6759 const
char *const parameter,
6760 const
char *const file,
6762 const
double values[],
6763 const
size_t number_of_values,
6764 const
double epsilon,
6765 const
size_t count);
6767 void _expect_not_in_set(
6768 const
char* const function, const
char* const parameter,
6769 const
char* const file, const
int line, const uintmax_t values[],
6770 const
size_t number_of_values, const
int count);
6771 void _expect_int_not_in_set(const
char *const function,
6772 const
char *const parameter,
6773 const
char *const file,
6775 const intmax_t values[],
6776 const
size_t number_of_values,
6777 const
size_t count);
6778 void _expect_uint_not_in_set(const
char *const function,
6779 const
char *const parameter,
6780 const
char *const file,
6782 const uintmax_t values[],
6783 const
size_t number_of_values,
6784 const
size_t count);
6786 void _expect_float_not_in_set(
6787 const
char* const function, const
char* const parameter,
6788 const
char* const file, const
size_t line, const
double values[],
6789 const
size_t number_of_values, const
double epsilon, const
size_t count);
6791 void _expect_in_range(const
char *const function,
6792 const
char *const parameter,
6793 const
char *const file,
6795 const uintmax_t minimum,
6796 const uintmax_t maximum,
6797 const
int count) CMOCKA_DEPRECATED;
6798 void _expect_int_in_range(const
char *const function,
6799 const
char *const parameter,
6800 const
char *const file,
6802 const intmax_t minimum,
6803 const intmax_t maximum,
6804 const
size_t count);
6805 void _expect_uint_in_range(const
char *const function,
6806 const
char *const parameter,
6807 const
char *const file,
6809 const uintmax_t minimum,
6810 const uintmax_t maximum,
6811 const
size_t count);
6812 void _expect_not_in_range(
6813 const
char* const function, const
char* const parameter,
6814 const
char* const file, const
int line,
6815 const uintmax_t minimum,
6816 const uintmax_t maximum, const
int count);
6817 void _expect_int_not_in_range(const
char *const function,
6818 const
char *const parameter,
6819 const
char *const file,
6821 const intmax_t minimum,
6822 const intmax_t maximum,
6823 const
size_t count);
6824 void _expect_uint_not_in_range(const
char *const function,
6825 const
char *const parameter,
6826 const
char *const file,
6828 const uintmax_t minimum,
6829 const uintmax_t maximum,
6830 const
size_t count);
6831 void _expect_float_in_range(
6832 const
char* const function, const
char* const parameter,
6833 const
char* const file, const
int line,
6834 const
double minimum, const
double maximum, const
double epsilon,
6836 void _expect_float_not_in_range(
6837 const
char* const function, const
char* const parameter,
6838 const
char* const file, const
int line,
6839 const
double minimum, const
double maximum, const
double epsilon,
6843 const
char* const function, const
char* const parameter,
6844 const
char* const file, const
int line, const uintmax_t value,
6846 void _expect_int_value(const
char *const function,
6847 const
char *const parameter,
6848 const
char *const file,
6850 const intmax_t value,
6851 const
size_t count);
6852 void _expect_uint_value(const
char *const function,
6853 const
char *const parameter,
6854 const
char *const file,
6856 const uintmax_t value,
6857 const
size_t count);
6858 void _expect_int_not_value(const
char *const function,
6859 const
char *const parameter,
6860 const
char *const file,
6862 const intmax_t value,
6863 const
size_t count);
6864 void _expect_uint_not_value(const
char *const function,
6865 const
char *const parameter,
6866 const
char *const file,
6868 const uintmax_t value,
6869 const
size_t count);
6870 void _expect_not_value(
6871 const
char* const function, const
char* const parameter,
6872 const
char* const file, const
int line, const uintmax_t value,
6876 const
char* const function, const
char* const parameter,
6877 const
char* const file, const
int line, const
double value,
6878 const
double epsilon, const
int count);
6879 void _expect_not_float(
6880 const
char* const function, const
char* const parameter,
6881 const
char* const file, const
int line, const
double value,
6882 const
double epsilon, const
int count);
6884 void _expect_double(const
char *const function,
6885 const
char *const parameter,
6886 const
char *const file,
6889 const
double epsilon,
6891 void _expect_not_double(const
char *const function,
6892 const
char *const parameter,
6893 const
char *const file,
6896 const
double epsilon,
6899 void _expect_string(
6900 const
char* const function, const
char* const parameter,
6901 const
char* const file, const
int line, const
char*
string,
6903 void _expect_not_string(
6904 const
char* const function, const
char* const parameter,
6905 const
char* const file, const
int line, const
char*
string,
6908 void _expect_memory(
6909 const
char* const function, const
char* const parameter,
6910 const
char* const file, const
int line, const
void* const memory,
6911 const
size_t size, const
int count);
6912 void _expect_not_memory(
6913 const
char* const function, const
char* const parameter,
6914 const
char* const file, const
int line, const
void* const memory,
6915 const
size_t size, const
int count);
6918 const
char* const function, const
char* const parameter,
6919 const
char* const file, const
int line, const
int count);
6921 void _check_expected(
6922 const
char * const function_name, const
char * const parameter_name,
6925 void _will_return(const
char *const function_name,
6926 const
char *const file,
6931 void _will_set_parameter(const
char *const function_name,
6933 const
char *const file,
6938 void _assert_true(const uintmax_t result,
6939 const
char* const expression,
6940 const
char * const file, const
int line);
6941 void _assert_false(const uintmax_t result,
6942 const
char * const expression,
6943 const
char * const file, const
int line);
6944 void _assert_return_code(const intmax_t result,
6945 const int32_t error,
6946 const
char * const expression,
6947 const
char * const file,
6949 void _assert_float_equal(const
float a, const
float n,
6950 const
float epsilon, const
char* const file,
6952 void _assert_float_not_equal(const
float a, const
float n,
6953 const
float epsilon, const
char* const file,
6955 void _assert_double_equal(const
double a, const
double n,
6956 const
double epsilon, const
char* const file,
6958 void _assert_double_not_equal(const
double a, const
double n,
6959 const
double epsilon, const
char* const file,
6961 void _assert_int_equal(const intmax_t a,
6963 const
char * const file,
6965 void _assert_int_not_equal(const intmax_t a,
6967 const
char * const file,
6969 void _assert_uint_equal(const uintmax_t a,
6971 const
char * const file,
6973 void _assert_uint_not_equal(const uintmax_t a,
6975 const
char * const file,
6977 CMOCKA_NO_ACCESS_ATTRIBUTE
6978 void _assert_ptr_equal_msg(const
void *a,
6980 const
char *const file,
6982 const
char *const msg);
6983 CMOCKA_NO_ACCESS_ATTRIBUTE
6984 void _assert_ptr_not_equal_msg(const
void *a,
6986 const
char *const file,
6988 const
char *const msg);
6989 void _assert_string_equal(const
char * const a, const
char * const b,
6990 const
char * const file, const
int line);
6991 void _assert_string_not_equal(const
char * const a, const
char * const b,
6992 const
char *file, const
int line);
6993 void _assert_memory_equal(const
void * const a, const
void * const b,
6994 const
size_t size, const
char* const file,
6996 void _assert_memory_not_equal(const
void * const a, const
void * const b,
6997 const
size_t size, const
char* const file,
6999 void _assert_int_in_range(const intmax_t value,
7000 const intmax_t minimum,
7001 const intmax_t maximum,
7002 const
char* const file,
7004 void _assert_int_not_in_range(const intmax_t value,
7005 const intmax_t minimum,
7006 const intmax_t maximum,
7007 const
char *const file,
7009 void _assert_uint_in_range(const uintmax_t value,
7010 const uintmax_t minimum,
7011 const uintmax_t maximum,
7012 const
char* const file,
7014 void _assert_uint_not_in_range(const uintmax_t value,
7015 const uintmax_t minimum,
7016 const uintmax_t maximum,
7017 const
char* const file,
7019 void _assert_float_in_range(const
double value,
7020 const
double minimum,
7021 const
double maximum,
7022 const
double epsilon,
7023 const
char* const file,
7025 void _assert_float_not_in_range(const
double value,
7026 const
double minimum,
7027 const
double maximum,
7028 const
double epsilon,
7029 const
char* const file,
7031 void _assert_not_in_set(
7032 const uintmax_t value, const uintmax_t values[],
7033 const
size_t number_of_values, const
char* const file, const
int line);
7034 void _assert_int_in_set(const intmax_t value,
7035 const intmax_t values[],
7036 const
size_t number_of_values,
7037 const
char *const file,
7039 void _assert_int_not_in_set(const intmax_t value,
7040 const intmax_t values[],
7041 const
size_t number_of_values,
7042 const
char *const file,
7044 void _assert_uint_in_set(const uintmax_t value,
7045 const uintmax_t values[],
7046 const
size_t number_of_values,
7047 const
char *const file,
7049 void _assert_uint_not_in_set(const uintmax_t value,
7050 const uintmax_t values[],
7051 const
size_t number_of_values,
7052 const
char *const file,
7054 void _assert_float_in_set(const
double value,
7055 const
double values[],
7056 const
size_t number_of_values,
7057 const
double epsilon,
7058 const
char *const file,
7060 void _assert_float_not_in_set(const
double value,
7061 const
double values[],
7062 const
size_t number_of_values,
7063 const
double epsilon,
7064 const
char *const file,
7067 void* _test_malloc(const
size_t size, const
char* file, const
int line);
7068 void* _test_realloc(
void *ptr, const
size_t size, const
char* file, const
int line);
7069 void* _test_calloc(const
size_t number_of_elements, const
size_t size,
7070 const
char* file, const
int line);
7071 void _test_free(
void* const ptr, const
char* file, const
int line);
7073 CMOCKA_NORETURN
void _fail(const
char * const file, const
int line);
7075 CMOCKA_NORETURN
void _skip(const
char * const file, const
int line);
7077 CMOCKA_NORETURN
void _stop(
void);
7080 int _cmocka_run_group_tests(const
char *group_name,
7082 const
size_t num_tests,
void expect_uint_not_value_count(#function, uintmax_t value, size_t count)
Add an event to repeatedly check if a parameter (uint) isn't the given value.
void expect_float_not_in_range_count(#function, #parameter, double minimum, double maximum, double epsilon, size_t count)
Add an event to repeatedly check a parameter is outside a numerical range. The check would succeed if...
void assert_null(void *pointer)
Assert that the given pointer is NULL.
struct CheckParameterEventData CheckParameterEventData
void will_set_parameter_double_maybe(#function, #name, double value)
Store a named double value that may always be returned by mock_parameter_double().
void assert_int_not_in_set(intmax_t value, intmax_t values[], size_t count)
Assert that the specified value is not within a set.
void will_return_maybe(#function, uintmax_t value)
void assert_uint_equal(uintmax_t a, uintmax_t b)
Assert that the two given unsigned integers are equal.
void expect_int_not_value(#function, #parameter, intmax_t value)
Add an event to check if a parameter (int) isn't the given value.
void will_return_count(#function, uintmax_t value, int count)
void assert_uint_not_in_range(uintmax_t value, uintmax_t minimum, uintmax_t maximum)
Assert that the specified value is smaller than the minimum or greater than the maximum.
intmax_t mock_parameter_int(#name)
Retrieve a named value for the current function and cast it to given type.
void fail(void)
Forces the test to fail immediately and quit.
type mock_type(#type)
Retrieve a value of the current function and cast it to given type.
void expect_in_range_count(#function, #parameter, uintmax_t minimum, uintmax_t maximum, size_t count)
void expect_int_not_value_count(#function, intmax_t value, size_t count)
Add an event to repeatedly check if a parameter (int) isn't the given value.
void expect_any(#function, #parameter)
Add an event to check if a parameter (of any value) has been passed.
void expect_not_memory_count(#function, #parameter, void *memory, size_t size, size_t count)
Add an event to repeatedly check if the parameter doesn't match an area of memory.
Definition: cmocka.h:6549
void will_return_double_always(#function, double value)
Store a double value that will always be returned by mock_double().
void expect_not_string_count(#function, #parameter, const char *string, size_t count)
Add an event to check if the parameter value isn't equal to the provided string.
void will_set_errno_always(#function, intmax_t value)
Store an integer value to set errno to by mock_errno() later, for a specified number of times...
void check_expected_double(#parameter)
Determine whether a function parameter is correct.
void will_set_parameter(#function, #name, uintmax_t value)
Store a named value to be returned by mock_parameter() later.
void will_return_ptr_type(#function, void *value, type)
Store a pointer value to be returned by mock_ptr_type_checked() later.
void will_return_uint_count(#function, uintmax_t value, int count)
Store an unsigned integer value to be returned a specified number of times by mock() later...
void expect_any_count(#function, #parameter, size_t count)
Add an event to repeatedly check if a parameter (of any value) has been passed.
void expect_value_count(#function, #parameter, uintmax_t value, size_t count)
void expect_uint_in_set_count(#function, #parameter, uintmax_t value_array[], size_t count)
Add an event to check if the parameter value is part of the provided unsigned integer array...
void assert_int_not_in_range(intmax_t value, intmax_t minimum, intmax_t maximum)
Assert that the specified value is smaller than the minimum or greater than the maximum.
void assert_ptr_not_equal_msg(void *a, void *b, const char *const msg)
Assert that the two given pointers are not equal.
void will_return_double(#function, double value)
Store a double precision floating point value to be returned by mock() later.
void assert_float_not_equal(float a, float b, float epsilon)
Assert that the two given float are not equal given an epsilon.
void assert_memory_not_equal(const void *a, const void *b, size_t size)
Assert that the two given areas of memory are not equal.
void * mock_parameter_ptr(#name)
Retrieve a named pointer for the current function.
void will_set_errno_maybe(#function, intmax_t value)
Store an integer value to set errno to by mock_errno() later, for a specified number of times...
void expect_not_double(#function, #parameter, double value, double epsilon)
Add an event to check if a parameter isn't the given double precision floating point value...
float mock_parameter_float(#name)
Retrieve a named float value for the current function.
struct SourceLocation SourceLocation
void will_set_parameter_float_maybe(#function, #name, float value)
Store a named float value that may always be returned by mock_parameter_float().
void check_expected_any(#parameter)
Check that any parameter value matches the next value in the queue.
void check_expected_int(#parameter)
Determine whether a function parameter is correct.
void will_return_float_maybe(#function, float value)
Store a float value that may always be returned by mock_float().
void will_set_parameter_ptr_always(#function, #name, void *value)
Store a named pointer value that will be always returned by mock_parameter_ptr(). ...
void expect_not_in_set_count(#function, #parameter, uintmax_t value_array[], size_t count)
void expect_memory(#function, #parameter, void *memory, size_t size)
Add an event to check if the parameter does match an area of memory.
void expect_uint_value(#function, #parameter, uintmax_t value)
Add an event to check if an unsigned integer parameter is the given value.
void assert_in_set(uintmax_t value, uintmax_t values[], size_t count)
uintmax_t mock_parameter_uint(#name)
Retrieve an unsigned integer return value of the current function.
void will_set_parameter_ptr_count(#function, #name, void *value, int count)
Store a named pointer value to be returned a specified number of times by mock_parameter_ptr() later...
void expect_float_in_set(#function, #parameter, double value_array[], double epsilon)
Add an event to check if the float parameter value is part of the provided array. ...
void fail_msg(const char *msg,...)
Forces the test to fail immediately and quit, printing the reason.
void expect_float_in_set_count(#function, #parameter, double value_array[], double epsilon, size_t count)
Add an event to check if the float parameter value is part of the provided integer array...
void will_return_float_count(#function, float value, int count)
Store a float value to be returned a specified number of times by mock() later.
void assert_ptr_equal(void *a, void *b)
Assert that the two given pointers are equal.
Definition: cmocka.h:6597
void assert_float_not_in_range(double value, double minimum, double maximum, double epsilon)
Assert that the specified float value is smaller than the minimum or greater than the maximum...
type mock_ptr_type_checked(#type)
Retrieve a typed return value of the current function with type checking.
void expect_check(function, parameter, CheckParameterValue check_function, const void *check_data)
void will_set_parameter_maybe(#function, #name, uintmax_t value)
void expect_float_not_in_range(#function, #parameter, double minimum, double maximum, double epsilon)
Add an event to check a parameter is outside a numerical range. The check would succeed if minimum > ...
void expect_uint_not_in_set_count(#function, uintmax_t value_array[], size_t count)
Add an event to check if the unsigned integer parameter value is not part of the provided unsigned in...
uintmax_t mock_parameter(#name)
Retrieve a named value for the current function.
int(* CheckIntParameterValue)(const intmax_t value, const intmax_t check_value_data)
Definition: cmocka.h:6417
void expect_function_call(#function)
Store expected single call to a mock to be checked by function_called() later.
void will_set_parameter_int_always(#function, #name, intmax_t value)
Store a named integer value that will always be returned by mock_parameter_int(). ...
void mock_assert(const int result, const char *const expression, const char *const file, const int line)
Function to replace assert(3) in tested code.
Definition: cmocka.c:3446
void will_return_int_count(#function, intmax_t value, int count)
Store an integer value to be returned a specified number of times by mock() later.
Definition: cmocka.h:6516
intmax_t int_val
Definition: cmocka.h:6348
void expect_not_value_count(#function, #parameter, uintmax_t value, size_t count)
int cmocka_run_group_tests(const struct CMUnitTest group_tests[], CMFixtureFunction group_setup, CMFixtureFunction group_teardown)
Run tests specified by an array of CMUnitTest structures.
void assert_uint_in_set(uintmax_t value, uintmax_t values[], size_t count)
Assert that the specified unsigned integer value is within a set.
void will_return_double_maybe(#function, double value)
Store a double value that may always be returned by mock_double().
void expect_int_in_range_count(#function, intmax_t minimum, intmax_t maximum, size_t count)
Add an event to repeatedly check an integer parameter is inside a numerical range. The check would succeed if minimum <= value <= maximum.
void will_return_int_always(#function, intmax_t value)
Store an integer value that will always be returned by mock_int().
void expect_not_float(#function, #parameter, double value, double epsilon)
Add an event to check if a parameter isn't the given floating point value.
void expect_uint_in_range(#function, uintmax_t minimum, uintmax_t maximum)
Add an event to check an unsigned integer parameter is inside a numerical range. The check would succ...
void will_return(#function, uintmax_t value)
Store a value to be returned by mock() later.
void expect_check_count(function, parameter, CheckParameterValue check_function, const void *check_data, size_t count)
void assert_return_code(intmax_t rc, int32_t error)
Assert that the return_code is greater than or equal to 0.
void expect_uint_not_in_range(#function, uintmax_t minimum, uintmax_t maximum)
Add an event to check an unsigned integer parameter is outside a numerical range. The check would suc...
void will_set_parameter_ptr_type(#function, #name, void *value, #type)
Store a named pointer value to be returned by mock_parameter() later.
void will_set_parameter_uint_always(#function, #name, uintmax_t value)
Store a named unsigned integer value that will always be returned by mock_parameter_uint().
void will_return_always(#function, uintmax_t value)
void assert_not_in_range(uintmax_t value, uintmax_t minimum, uintmax_t maximum)
void will_return_ptr(#function, void *value)
Store a pointer value to be returned by mock_ptr_type() later.
void assert_in_range(uintmax_t value, uintmax_t minimum, uintmax_t maximum)
void will_set_parameter_float(#function, #name, float value)
Store a named float value to be returned by mock_parameter() later.
void will_set_parameter_double_always(#function, #name, double value)
Store a named double value that will always be returned by mock_parameter_double().
void expect_float_not_in_set_count(#function, #parameter, double value_array[], double epsilon, size_t count)
Add an event to check if the float parameter value is not part of the provided integer array...
void assert_float_not_in_set(double value, double values[], size_t count, double epsilon)
Assert that the specified float value is not within a set.
void expect_float_in_range_count(#function, #parameter, double minimum, double maximum, double epsilon, size_t count)
Add an event to repeatedly check a parameter is inside a numerical range. The check would succeed if ...
void expect_string_count(#function, #parameter, const char *string, size_t count)
Add an event to check if the parameter value is equal to the provided string.
void expect_function_call_any(#function)
Expects function_called() from given mock at least once.
void expect_not_in_range_count(#function, #parameter, uintmax_t minimum, uintmax_t maximum, size_t count)
Add an event to repeatedly check a parameter is outside a numerical range. The check would succeed if...
void assert_not_in_set(uintmax_t value, uintmax_t values[], size_t count)
Assert that the specified value is not within a set.
void cmocka_set_test_filter(const char *pattern)
Set a pattern to only run the test matching the pattern.
Definition: cmocka.c:4838
UnitTestFunctionType
Definition: cmocka.h:6433
void stop(void)
Forces the test to be stopped immediately.
void will_set_parameter_int_count(#function, #name, intmax_t value, int count)
Store a named integer value to be returned a specified number of times by mock_parameter_int() later...
void expect_int_not_in_set_count(#function, intmax_t value_array[], size_t count)
Add an event to check if the integer parameter value is not part of the provided integer array...
void assert_uint_not_in_set(uintmax_t value, uintmax_t values[], size_t count)
Assert that the specified unsigned integer value is not within a set.
void(* UnitTestFunction)(void **state)
Definition: cmocka.h:6394
void expect_not_string(#function, #parameter, const char *string)
Add an event to check if the parameter value isn't equal to the provided string.
int(* CheckParameterValueData)(const CMockaValueData value, const CMockaValueData check_value_data)
Definition: cmocka.h:6409
void expect_double(#function, #parameter, double value, double epsilon)
Add an event to check if a parameter is the given double precision floating point value...
void expect_in_range(#function, #parameter, uintmax_t minimum, uintmax_t maximum)
void assert_int_equal(intmax_t a, intmax_t b)
Assert that the two given integers are equal.
double real_val
Definition: cmocka.h:6354
int(* CheckParameterValue)(const uintmax_t value, const uintmax_t check_value_data)
Definition: cmocka.h:6401
void expect_not_value(#function, #parameter, uintmax_t value)
void expect_int_not_in_set(#function, #parameter, intmax_t value_array[])
Add an event to check if the integer parameter value is not part of the provided integer array...
void assert_string_equal(const char *a, const char *b)
Assert that the two given strings are equal.
void will_return_double_count(#function, double value, int count)
Store a double precision floating point value to be returned a specified number of times by mock() la...
void expect_int_in_set_count(#function, #parameter, intmax_t value_array[], size_t count)
Add an event to check if the parameter value is part of the provided integer array.
void void cmocka_set_message_output(uint32_t output)
Function to set the output format for a test.
Definition: cmocka.c:4795
void * test_malloc(size_t size)
Test function overriding malloc.
void will_set_errno_count(#function, intmax_t value, size_t count)
Store an integer value to always set errno to by mock_errno().
void assert_float_equal(float a, float b, float epsilon)
Assert that the two given float are equal given an epsilon.
void assert_non_null(void *pointer)
Assert that the given pointer is non-NULL.
void expect_in_set_count(#function, #parameter, uintmax_t value_array[], size_t count)
Definition: cmocka.h:6346
void will_set_parameter_float_count(#function, #name, float value, int count)
Store a named float value to be returned a specified number of times by mock_parameter_float() later...
void expect_float(#function, #parameter, double value, double epsilon)
Add an event to check if a parameter is the given floating point value.
void cm_print_error(const char *const format,...)
float mock_float(void)
Retrieve a float return value of the current function.
void will_return_ptr_maybe(#function, void *value)
Store a value that may be always returned by mock_ptr_type().
bool has_mock(void)
Check if data is available for the current mock function.
void expect_check_data_count(function, parameter, CheckParameterValueData check_function, CMockaValueData check_data, size_t count)
Add a custom parameter checking function using CMockaValueData with count (new API).
void expect_int_value(#function, #parameter, intmax_t value)
Add an event to check if an integer parameter is the given value.
void assert_int_in_range(intmax_t value, intmax_t minimum, intmax_t maximum)
Assert that the specified integer value is not smaller than the minimum and and not greater than the ...
void will_set_parameter_int_maybe(#function, #name, intmax_t value)
Store a named integer value that may always be returned by mock_parameter_int().
Definition: cmocka.h:6595
void will_return_int_maybe(#function, intmax_t value)
Store an integer value that may always be returned by mock_int().
double mock_parameter_double(#name)
Retrieve a named double precision floating point value for the current function.
void expect_check_data(function, parameter, CheckParameterValueData check_function, CMockaValueData check_data)
Add a custom parameter checking function using CMockaValueData (new API).
void will_set_parameter_ptr(#function, #name, void *value)
Store a named pointer value to be returned by mock_parameter() later.
void will_set_parameter_count(#function, #name, uintmax_t value, int count)
Definition: cmocka.h:6603
void assert_true(scalar expression)
Assert that the given expression is true.
void assert_float_in_range(double value, double minimum, double maximum, double epsilon)
Assert that the specified float value is not smaller than the minimum and and not greater than the ma...
void will_return_uint(#function, uintmax_t value)
Store a unsigned integer value to be returned by mock() later.
void expect_not_in_set(#function, #parameter, uintmax_t value_array[])
void will_return_float_always(#function, float value)
Store a float value that will always be returned by mock_float().
void assert_uint_in_range(uintmax_t value, uintmax_t minimum, uintmax_t maximum)
Assert that the specified unsigned integer value is not smaller than the minimum and and not greater ...
void assert_string_not_equal(const char *a, const char *b)
Assert that the two given strings are not equal.
void expect_float_count(#function, #parameter, double value, double epsilon, size_t count)
Add an event to repeatedly check if a parameter is the given floating point value.
void will_return_uint_always(#function, uintmax_t value)
Store an unsigned integer value that will always be returned by mock_uint().
void will_return_int(#function, intmax_t value)
Store an integer value to be returned by mock() later.
void expect_int_not_in_range_count(#function, intmax_t minimum, intmax_t maximum, size_t count)
Add an event to repeatedly check an integer parameter is outside a numerical range. The check would succeed if minimum > value > maximum.
void expect_double_count(#function, double value, double epsilon, size_t count)
Add an event to repeatedly check if a parameter is the given double precision floating point value...
void will_set_parameter_uint_maybe(#function, #name, uintmax_t value)
Store a named unsigned integer value that may always be returned by mock_parameter_uint().
void assert_false(scalar expression)
Assert that the given expression is false.
void will_set_parameter_double(#function, #name, double value)
Store a named double precision floating point value to be returned by mock_parameter() later...
void check_expected_ptr(#parameter)
Determine whether a function parameter is correct.
void expect_function_calls(#function, const int times)
Store expected call(s) to a mock to be checked by function_called() later.
double mock_double(void)
Retrieve a double precision floating point return value of the current function.
type mock_ptr_type(#type)
Retrieve a typed return value of the current function.
void assert_non_null_msg(void *pointer, const char *const message)
Assert that the given pointer is non-NULL.
Definition: cmocka.h:6457
int cmocka_run_group_tests_name(const char *group_name, const struct CMUnitTest group_tests[], CMFixtureFunction group_setup, CMFixtureFunction group_teardown)
Run tests specified by an array of CMUnitTest structures and specify a name.
void assert_ptr_not_equal(void *a, void *b)
Assert that the two given pointers are not equal.
void expect_uint_not_value(#function, #parameter, uintmax_t value)
Add an event to check if a parameter (uint) isn't the given value.
void will_return_ptr_always(#function, void *value)
Store a value that will be always returned by mock_ptr_type().
void assert_double_not_equal(double a, double b, double epsilon)
Assert that the two given double are not equal given an epsilon.
void will_set_parameter_always(#function, #name, uintmax_t value)
void mock_errno(void)
set errno for the current function.
void expect_uint_in_range_count(#function, uintmax_t minimum, uintmax_t maximum, size_t count)
Add an event to repeatedly check an unsigned integer parameter is inside a numerical range...
void check_expected_float(#parameter)
Determine whether a function parameter is correct.
void expect_memory_count(#function, #parameter, void *memory, size_t size, size_t count)
Add an event to repeatedly check if the parameter does match an area of memory.
void expect_in_set(#function, #parameter, uintmax_t value_array[])
void will_set_errno(#function, intmax_t value)
Store an integer value to set errno to by mock_errno() later.
void expect_uint_not_in_set(#function, #parameter, uintmax_t value_array[])
Add an event to check if the unsigned integer parameter value is not part of the provided unsigned in...
int(* CheckUintParameterValue)(const uintmax_t value, const uintmax_t check_value_data)
Definition: cmocka.h:6425
void(* CMUnitTestFunction)(void **state)
Definition: cmocka.h:6469
void * ptr
Definition: cmocka.h:6356
uintmax_t mock_uint(void)
Retrieve an unsigned integer return value of the current function.
void assert_double_equal(double a, double b, double epsilon)
Assert that the two given double are equal given an epsilon.
intmax_t mock_int()
Retrieve an integer return value of the current function.
void function_called(void)
Check that current mocked function is being called in the expected order.
void cmocka_print_error(const char *const format,...) CMOCKA_PRINTF_ATTRIBUTE(1
Print error message using the cmocka output format.
int(* CMFixtureFunction)(void **state)
Definition: cmocka.h:6476
void skip(void)
Forces the test to not be executed, but marked as skipped.
void will_set_parameter_uint(#function, #name, uintmax_t value)
Store a named unsigned integer value to be returned by mock_parameter() later.
Definition: cmocka.h:6494
void assert_uint_not_equal(uintmax_t a, uintmax_t b)
Assert that the two given unsigned integers are not equal.
void assert_null_msg(void *pointer, const char *const message)
Assert that the given pointer is NULL.
void expect_float_in_range(#function, #parameter, double minimum, double maximum, double epsilon)
Add an event to check a parameter is inside a numerical range. The check would succeed if minimum <= ...
void expect_not_in_range(#function, #parameter, uintmax_t minimum, uintmax_t maximum)
Add an event to check a parameter is outside a numerical range. The check would succeed if minimum > ...
void will_set_parameter_uint_count(#function, uintmax_t value, int count)
Store a named unsigned integer value to be returned a specified number of times by mock_parameter_uin...
uintmax_t uint_val
Definition: cmocka.h:6350
void expect_int_value_count(#function, intmax_t value, size_t count)
Add an event to repeatedly check if an integer parameter is the given value.
void expect_int_in_range(#function, intmax_t minimum, intmax_t maximum)
Add an event to check an integer parameter is inside a numerical range. The check would succeed if mi...
void will_set_parameter_float_always(#function, #name, float value)
Store a named float value that will always be returned by mock_parameter_float(). ...
type mock_parameter_ptr_type(#name, #type)
Retrieve a named pointer for the current function.
void will_set_parameter_double_count(#function, #name, double value, int count)
Store a named double value to be returned a specified number of times by mock_parameter_double() late...
void expect_float_not_in_set(#function, #parameter, double value_array[], double epsilon)
Add an event to check if the float parameter value is not part of the provided array.
void * test_calloc(size_t nmemb, size_t size)
Test function overriding calloc.
void cmocka_set_callbacks(const struct CMCallbacks *f_callbacks)
Set callback functions for CMocka.
Definition: cmocka.c:154
Definition: cmocka.h:6599
void ignore_function_calls(#function)
Ignores function_called() invocations from given mock function.
Definition: cmocka.h:6481
Definition: cmocka.h:6601
void expect_uint_value_count(#function, uintmax_t value, size_t count)
Add an event to repeatedly check if an unsigned integer parameter is the given value.
void expect_not_double_count(#function, double value, double epsilon, size_t count)
Add an event to repeatedly check if a parameter isn't the double precision floating point value...
void cmocka_set_skip_filter(const char *pattern)
Set a pattern to skip tests matching the pattern.
Definition: cmocka.c:4855
void assert_int_in_set(intmax_t value, intmax_t values[], size_t count)
Assert that the specified integer value is within a set.
void will_set_parameter_ptr_maybe(#function, #name, void *value)
Store a named pointer value that may be always returned by mock_parameter_ptr().
void will_set_parameter_int(#function, #name, intmax_t value)
Store a named integer value to be returned by mock_parameter() later.
void assert_memory_equal(const void *a, const void *b, size_t size)
Assert that the two given areas of memory are equal, otherwise fail.
void expect_int_not_in_range(#function, intmax_t minimum, intmax_t maximum)
Add an event to check an integer parameter is outside a numerical range. The check would succeed if m...
void check_expected_uint(#parameter)
Determine whether a function parameter is correct.
void check_expected(#parameter)
void expect_any_always(#function, #parameter)
Add an event to always check if a parameter (of any value) has been passed.
void * test_realloc(void *ptr, size_t size)
Test function overriding realloc which detects buffer overruns and memory leaks.
void will_return_float(#function, float value)
Store a float value to be returned by mock() later.
void expect_not_memory(#function, #parameter, void *memory, size_t size)
Add an event to check if the parameter doesn't match an area of memory.
void expect_string(#function, #parameter, const char *string)
Add an event to check if the parameter value is equal to the provided string.
void assert_float_in_set(double value, double values[], size_t count, double epsilon)
Assert that the specified float value is within a set.
void test_free(void *ptr)
Test function overriding free(3).
const void * const_ptr
Definition: cmocka.h:6358
void assert_ptr_equal_msg(void *a, void *b, const char *const msg)
Assert that the two given pointers are equal.
void expect_assert_failure(function fn_call)
Ensure that mock_assert() is called.
Definition: cmocka.h:6448
void expect_not_float_count(#function, #parameter, double value, double epsilon, size_t count)
Add an event to repeatedly check if a parameter isn't the floating point value.
void will_return_uint_maybe(#function, uintmax_t value)
Store an unsigned integer value that may always be returned by mock_uint().
void expect_value(#function, #parameter, uintmax_t value)
void expect_uint_not_in_range_count(#function, uintmax_t minimum, uintmax_t maximum, size_t count)
Add an event to repeatedly check an unsigned integer parameter is outside a numerical range...
uintmax_t mock(void)
Retrieve a return value of the current function.
Definition: cmocka.h:6504
float float_val
Definition: cmocka.h:6352
void will_return_ptr_count(#function, void *value, int count)
Store a pointer value to be returned by mock_ptr_type() later.
cm_message_output
Output format options for test results.
Definition: cmocka.h:6593
void assert_int_not_equal(intmax_t a, intmax_t b)
Assert that the two given integers are not equal.
struct CheckParameterEvent CheckParameterEvent