diff --git a/fakegen.rb b/fakegen.rb index 3f61984..01ebd80 100644 --- a/fakegen.rb +++ b/fakegen.rb @@ -5,8 +5,14 @@ $cpp_output = true $MAX_ARGS = 10 -$DEFAULT_ARG_HISTORY = 10 -$MAX_CALL_HISTORY = 10 +$DEFAULT_ARG_HISTORY = 50 +$MAX_CALL_HISTORY = 50 + +def output_constants + puts "#define FFF_MAX_ARGS ((unsigned)#{$MAX_ARGS})" + puts "#define FFF_ARG_HISTORY_LEN ((unsigned)#{$DEFAULT_ARG_HISTORY})" + puts "#define FFF_CALL_HISTORY_LEN ((unsigned)#{$MAX_CALL_HISTORY})" +end def output_macro(args, is_value_function) @@ -145,7 +151,7 @@ def output_reset_function(arg_count, is_value_function) puts " memset(FUNCNAME##_arg#{i}_history, 0, sizeof(FUNCNAME##_arg#{i}_history)); \\" } puts " FUNCNAME##_call_count = 0; \\" - puts " FUNCNAME##_return_val = 0; \\" unless not is_value_function + puts " memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \\" unless not is_value_function puts " } \\" end @@ -207,6 +213,7 @@ end # lets generate!! output_c_and_cpp{ + output_constants output_cpp_reset_code if $cpp_output output_cpp_static_initializer if $cpp_output 10.times {|arg_count| output_macro(arg_count, false)} diff --git a/fff.h b/fff.h index 715fd1f..7e9954d 100644 --- a/fff.h +++ b/fff.h @@ -2,6 +2,9 @@ #define FAKE_FUNCTIONS #ifdef __cplusplus +#define FFF_MAX_ARGS ((unsigned)10) +#define FFF_ARG_HISTORY_LEN ((unsigned)50) +#define FFF_CALL_HISTORY_LEN ((unsigned)50) #include typedef void (*void_fptr)(); std::vector reset_functions; @@ -31,7 +34,7 @@ static StaticInitializer_##FUNCNAME staticInitializer_##FUNCNAME; \ #define FAKE_VOID_FUNC0(FUNCNAME) \ extern "C"{ \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(){ \ if(FUNCNAME##_call_count >= FUNCNAME##_arg_history_len){\ @@ -51,9 +54,9 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0){ \ FUNCNAME##_arg0_val = arg0; \ @@ -79,11 +82,11 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ FUNCNAME##_arg0_val = arg0; \ @@ -115,13 +118,13 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ FUNCNAME##_arg0_val = arg0; \ @@ -159,15 +162,15 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3){ \ FUNCNAME##_arg0_val = arg0; \ @@ -211,17 +214,17 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4){ \ FUNCNAME##_arg0_val = arg0; \ @@ -271,19 +274,19 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5){ \ FUNCNAME##_arg0_val = arg0; \ @@ -339,21 +342,21 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6){ \ FUNCNAME##_arg0_val = arg0; \ @@ -415,23 +418,23 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[10];\ + static ARG7_TYPE FUNCNAME##_arg7_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7){ \ FUNCNAME##_arg0_val = arg0; \ @@ -499,25 +502,25 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[10];\ + static ARG7_TYPE FUNCNAME##_arg7_history[50];\ static ARG8_TYPE FUNCNAME##_arg8_val; \ - static ARG8_TYPE FUNCNAME##_arg8_history[10];\ + static ARG8_TYPE FUNCNAME##_arg8_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8){ \ FUNCNAME##_arg0_val = arg0; \ @@ -592,7 +595,7 @@ STATIC_INIT(FUNCNAME) \ extern "C"{ \ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(){ \ if(FUNCNAME##_call_count >= FUNCNAME##_arg_history_len){\ @@ -604,7 +607,7 @@ extern "C"{ \ } \ void FUNCNAME##_reset(){ \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -614,10 +617,10 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0){ \ FUNCNAME##_arg0_val = arg0; \ @@ -635,7 +638,7 @@ extern "C"{ \ FUNCNAME##_arg0_val = (ARG0_TYPE) 0; \ memset(FUNCNAME##_arg0_history, 0, sizeof(FUNCNAME##_arg0_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -645,12 +648,12 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ FUNCNAME##_arg0_val = arg0; \ @@ -674,7 +677,7 @@ extern "C"{ \ FUNCNAME##_arg1_val = (ARG1_TYPE) 0; \ memset(FUNCNAME##_arg1_history, 0, sizeof(FUNCNAME##_arg1_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -684,14 +687,14 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ FUNCNAME##_arg0_val = arg0; \ @@ -721,7 +724,7 @@ extern "C"{ \ FUNCNAME##_arg2_val = (ARG2_TYPE) 0; \ memset(FUNCNAME##_arg2_history, 0, sizeof(FUNCNAME##_arg2_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -731,16 +734,16 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3){ \ FUNCNAME##_arg0_val = arg0; \ @@ -776,7 +779,7 @@ extern "C"{ \ FUNCNAME##_arg3_val = (ARG3_TYPE) 0; \ memset(FUNCNAME##_arg3_history, 0, sizeof(FUNCNAME##_arg3_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -786,18 +789,18 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4){ \ FUNCNAME##_arg0_val = arg0; \ @@ -839,7 +842,7 @@ extern "C"{ \ FUNCNAME##_arg4_val = (ARG4_TYPE) 0; \ memset(FUNCNAME##_arg4_history, 0, sizeof(FUNCNAME##_arg4_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -849,20 +852,20 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5){ \ FUNCNAME##_arg0_val = arg0; \ @@ -910,7 +913,7 @@ extern "C"{ \ FUNCNAME##_arg5_val = (ARG5_TYPE) 0; \ memset(FUNCNAME##_arg5_history, 0, sizeof(FUNCNAME##_arg5_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -920,22 +923,22 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6){ \ FUNCNAME##_arg0_val = arg0; \ @@ -989,7 +992,7 @@ extern "C"{ \ FUNCNAME##_arg6_val = (ARG6_TYPE) 0; \ memset(FUNCNAME##_arg6_history, 0, sizeof(FUNCNAME##_arg6_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -999,24 +1002,24 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[10];\ + static ARG7_TYPE FUNCNAME##_arg7_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1076,7 +1079,7 @@ extern "C"{ \ FUNCNAME##_arg7_val = (ARG7_TYPE) 0; \ memset(FUNCNAME##_arg7_history, 0, sizeof(FUNCNAME##_arg7_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -1086,26 +1089,26 @@ STATIC_INIT(FUNCNAME) \ #define FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ extern "C"{ \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[10];\ + static ARG7_TYPE FUNCNAME##_arg7_history[50];\ static ARG8_TYPE FUNCNAME##_arg8_val; \ - static ARG8_TYPE FUNCNAME##_arg8_history[10];\ + static ARG8_TYPE FUNCNAME##_arg8_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1171,7 +1174,7 @@ extern "C"{ \ FUNCNAME##_arg8_val = (ARG8_TYPE) 0; \ memset(FUNCNAME##_arg8_history, 0, sizeof(FUNCNAME##_arg8_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ } \ STATIC_INIT(FUNCNAME) \ @@ -1182,7 +1185,7 @@ STATIC_INIT(FUNCNAME) \ FUNCNAME##_reset(); \ } \ -#define MAX_CALL_HISTORY 10u +#define MAX_CALL_HISTORY 50u static void * call_history[MAX_CALL_HISTORY]; static unsigned int call_history_idx; void RESET_HISTORY() { @@ -1191,11 +1194,14 @@ void RESET_HISTORY() { #define REGISTER_CALL(function) \ if(call_history_idx < MAX_CALL_HISTORY) call_history[call_history_idx++] = (void *)function; #else /* ansi c */ +#define FFF_MAX_ARGS ((unsigned)10) +#define FFF_ARG_HISTORY_LEN ((unsigned)50) +#define FFF_CALL_HISTORY_LEN ((unsigned)50) /* Defining a void function with 0 parameters*/ #define FAKE_VOID_FUNC0(FUNCNAME) \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(){ \ if(FUNCNAME##_call_count >= FUNCNAME##_arg_history_len){\ @@ -1212,9 +1218,9 @@ void RESET_HISTORY() { /* Defining a void function with 1 parameters*/ #define FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1237,11 +1243,11 @@ void RESET_HISTORY() { /* Defining a void function with 2 parameters*/ #define FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1270,13 +1276,13 @@ void RESET_HISTORY() { /* Defining a void function with 3 parameters*/ #define FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1311,15 +1317,15 @@ void RESET_HISTORY() { /* Defining a void function with 4 parameters*/ #define FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1360,17 +1366,17 @@ void RESET_HISTORY() { /* Defining a void function with 5 parameters*/ #define FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1417,19 +1423,19 @@ void RESET_HISTORY() { /* Defining a void function with 6 parameters*/ #define FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1482,21 +1488,21 @@ void RESET_HISTORY() { /* Defining a void function with 7 parameters*/ #define FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1555,23 +1561,23 @@ void RESET_HISTORY() { /* Defining a void function with 8 parameters*/ #define FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[10];\ + static ARG7_TYPE FUNCNAME##_arg7_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1636,25 +1642,25 @@ void RESET_HISTORY() { /* Defining a void function with 9 parameters*/ #define FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[10];\ + static ARG7_TYPE FUNCNAME##_arg7_history[50];\ static ARG8_TYPE FUNCNAME##_arg8_val; \ - static ARG8_TYPE FUNCNAME##_arg8_history[10];\ + static ARG8_TYPE FUNCNAME##_arg8_history[50];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1726,7 +1732,7 @@ void RESET_HISTORY() { #define FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(){ \ if(FUNCNAME##_call_count >= FUNCNAME##_arg_history_len){\ @@ -1738,17 +1744,17 @@ void RESET_HISTORY() { } \ void FUNCNAME##_reset(){ \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ /* Defining a function returning a value with 1 parameters*/ #define FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1766,19 +1772,19 @@ void RESET_HISTORY() { FUNCNAME##_arg0_val = (ARG0_TYPE) 0; \ memset(FUNCNAME##_arg0_history, 0, sizeof(FUNCNAME##_arg0_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ /* Defining a function returning a value with 2 parameters*/ #define FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1802,21 +1808,21 @@ void RESET_HISTORY() { FUNCNAME##_arg1_val = (ARG1_TYPE) 0; \ memset(FUNCNAME##_arg1_history, 0, sizeof(FUNCNAME##_arg1_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ /* Defining a function returning a value with 3 parameters*/ #define FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1846,23 +1852,23 @@ void RESET_HISTORY() { FUNCNAME##_arg2_val = (ARG2_TYPE) 0; \ memset(FUNCNAME##_arg2_history, 0, sizeof(FUNCNAME##_arg2_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ /* Defining a function returning a value with 4 parameters*/ #define FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1898,25 +1904,25 @@ void RESET_HISTORY() { FUNCNAME##_arg3_val = (ARG3_TYPE) 0; \ memset(FUNCNAME##_arg3_history, 0, sizeof(FUNCNAME##_arg3_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ /* Defining a function returning a value with 5 parameters*/ #define FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1958,27 +1964,27 @@ void RESET_HISTORY() { FUNCNAME##_arg4_val = (ARG4_TYPE) 0; \ memset(FUNCNAME##_arg4_history, 0, sizeof(FUNCNAME##_arg4_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ /* Defining a function returning a value with 6 parameters*/ #define FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5){ \ FUNCNAME##_arg0_val = arg0; \ @@ -2026,29 +2032,29 @@ void RESET_HISTORY() { FUNCNAME##_arg5_val = (ARG5_TYPE) 0; \ memset(FUNCNAME##_arg5_history, 0, sizeof(FUNCNAME##_arg5_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ /* Defining a function returning a value with 7 parameters*/ #define FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6){ \ FUNCNAME##_arg0_val = arg0; \ @@ -2102,31 +2108,31 @@ void RESET_HISTORY() { FUNCNAME##_arg6_val = (ARG6_TYPE) 0; \ memset(FUNCNAME##_arg6_history, 0, sizeof(FUNCNAME##_arg6_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ /* Defining a function returning a value with 8 parameters*/ #define FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[10];\ + static ARG7_TYPE FUNCNAME##_arg7_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7){ \ FUNCNAME##_arg0_val = arg0; \ @@ -2186,33 +2192,33 @@ void RESET_HISTORY() { FUNCNAME##_arg7_val = (ARG7_TYPE) 0; \ memset(FUNCNAME##_arg7_history, 0, sizeof(FUNCNAME##_arg7_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ /* Defining a function returning a value with 9 parameters*/ #define FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ static ARG0_TYPE FUNCNAME##_arg0_val; \ - static ARG0_TYPE FUNCNAME##_arg0_history[10];\ + static ARG0_TYPE FUNCNAME##_arg0_history[50];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[10];\ + static ARG1_TYPE FUNCNAME##_arg1_history[50];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[10];\ + static ARG2_TYPE FUNCNAME##_arg2_history[50];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[10];\ + static ARG3_TYPE FUNCNAME##_arg3_history[50];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[10];\ + static ARG4_TYPE FUNCNAME##_arg4_history[50];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[10];\ + static ARG5_TYPE FUNCNAME##_arg5_history[50];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[10];\ + static ARG6_TYPE FUNCNAME##_arg6_history[50];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[10];\ + static ARG7_TYPE FUNCNAME##_arg7_history[50];\ static ARG8_TYPE FUNCNAME##_arg8_val; \ - static ARG8_TYPE FUNCNAME##_arg8_history[10];\ + static ARG8_TYPE FUNCNAME##_arg8_history[50];\ static RETURN_TYPE FUNCNAME##_return_val; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 10;\ + static unsigned int FUNCNAME##_arg_history_len = 50;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8){ \ FUNCNAME##_arg0_val = arg0; \ @@ -2278,7 +2284,7 @@ void RESET_HISTORY() { FUNCNAME##_arg8_val = (ARG8_TYPE) 0; \ memset(FUNCNAME##_arg8_history, 0, sizeof(FUNCNAME##_arg8_history)); \ FUNCNAME##_call_count = 0; \ - FUNCNAME##_return_val = 0; \ + memset(&FUNCNAME##_return_val, 0, sizeof(FUNCNAME##_return_val)); \ } \ @@ -2287,7 +2293,7 @@ void RESET_HISTORY() { FUNCNAME##_reset(); \ } \ -#define MAX_CALL_HISTORY 10u +#define MAX_CALL_HISTORY 50u static void * call_history[MAX_CALL_HISTORY]; static unsigned int call_history_idx; void RESET_HISTORY() { diff --git a/test/fff_test_c.c b/test/fff_test_c.c index 9eb15eb..59a43fb 100644 --- a/test/fff_test_c.c +++ b/test/fff_test_c.c @@ -11,18 +11,30 @@ void setup(); #define ASSERT_EQ(A, B) assert((A) == (B)) #define ASSERT(A) assert((A)) +enum MYBOOL { FALSE = 899, TRUE }; +struct MyStruct { + int x; + int y; +}; + FAKE_VOID_FUNC1(voidfunc1, int); FAKE_VOID_FUNC2(voidfunc2, char, char); FAKE_VALUE_FUNC0(long, longfunc0); +FAKE_VALUE_FUNC0(enum MYBOOL, enumfunc0); +FAKE_VALUE_FUNC0(struct MyStruct, structfunc0); + void setup() { RESET_FAKE(voidfunc1); RESET_FAKE(voidfunc2); RESET_FAKE(longfunc0); + RESET_FAKE(enumfunc0); + RESET_FAKE(structfunc0); RESET_HISTORY(); } + TEST_F(FFFTestSuite, when_void_func_never_called_then_callcount_is_zero) { ASSERT_EQ(voidfunc1_call_count, 0); @@ -87,10 +99,10 @@ TEST_F(FFFTestSuite, when_void_func_with_2_char_args_called_and_reset_then_captu } // Argument history -TEST_F(FFFTestSuite, when_fake_func_created_default_history_is_ten_calls) +TEST_F(FFFTestSuite, when_fake_func_created_default_history_is_fifty_calls) { - ASSERT_EQ(10u, (sizeof voidfunc2_arg0_history) / (sizeof voidfunc2_arg0_history[0])); - ASSERT_EQ(10u, (sizeof voidfunc2_arg1_history) / (sizeof voidfunc2_arg1_history[0])); + ASSERT_EQ(FFF_ARG_HISTORY_LEN, (sizeof voidfunc2_arg0_history) / (sizeof voidfunc2_arg0_history[0])); + ASSERT_EQ(FFF_ARG_HISTORY_LEN, (sizeof voidfunc2_arg1_history) / (sizeof voidfunc2_arg1_history[0])); } TEST_F(FFFTestSuite, when_fake_func_called_then_arguments_captured_in_history) @@ -115,8 +127,8 @@ TEST_F(FFFTestSuite, argument_history_is_reset_when_RESET_FAKE_called) TEST_F(FFFTestSuite, when_fake_func_called_max_times_then_no_argument_histories_dropped) { - int i; - for (i = 0; i < 10; i++) + unsigned int i; + for (i = 0; i < FFF_ARG_HISTORY_LEN; i++) { voidfunc2('1' + i, '2' + i); } @@ -125,8 +137,8 @@ TEST_F(FFFTestSuite, when_fake_func_called_max_times_then_no_argument_histories_ TEST_F(FFFTestSuite, when_fake_func_called_max_times_plus_one_then_one_argument_history_dropped) { - int i; - for (i = 0; i < 10; i++) + unsigned int i; + for (i = 0; i < FFF_ARG_HISTORY_LEN; i++) { voidfunc2('1' + i, '2' + i); } @@ -182,11 +194,11 @@ TEST_F(FFFTestSuite, reset_call_history_resets_call_history) TEST_F(FFFTestSuite, call_history_will_not_write_past_array_bounds) { - for (unsigned int i = 0; i < MAX_CALL_HISTORY + 1; i++) + for (unsigned int i = 0; i < FFF_CALL_HISTORY_LEN + 1; i++) { REGISTER_CALL(longfunc0); } - ASSERT_EQ(MAX_CALL_HISTORY, call_history_idx); + ASSERT_EQ(FFF_CALL_HISTORY_LEN, call_history_idx); } TEST_F(FFFTestSuite, calling_fake_registers_one_call) @@ -215,7 +227,7 @@ int main() RUN_TEST(FFFTestSuite, when_void_func_with_2_char_args_called_twice_then_last_args_captured); RUN_TEST(FFFTestSuite, when_void_func_with_2_char_args_called_and_reset_then_captured_arg_is_zero); - RUN_TEST(FFFTestSuite, when_fake_func_created_default_history_is_ten_calls); + RUN_TEST(FFFTestSuite, when_fake_func_created_default_history_is_fifty_calls); RUN_TEST(FFFTestSuite, when_fake_func_called_then_arguments_captured_in_history); RUN_TEST(FFFTestSuite, argument_history_is_reset_when_RESET_FAKE_called); RUN_TEST(FFFTestSuite, when_fake_func_called_max_times_then_no_argument_histories_dropped); diff --git a/test/fff_test_cpp.cpp b/test/fff_test_cpp.cpp index d81347d..54a0d3d 100644 --- a/test/fff_test_cpp.cpp +++ b/test/fff_test_cpp.cpp @@ -87,10 +87,10 @@ TEST_F(FFFTestSuite, when_void_func_with_2_char_args_called_and_reset_then_captu } // Argument history -TEST_F(FFFTestSuite, when_fake_func_created_default_history_is_ten_calls) +TEST_F(FFFTestSuite, when_fake_func_created_default_history_is_fifty_calls) { - ASSERT_EQ(10u, (sizeof voidfunc2_arg0_history) / (sizeof voidfunc2_arg0_history[0])); - ASSERT_EQ(10u, (sizeof voidfunc2_arg1_history) / (sizeof voidfunc2_arg1_history[0])); + ASSERT_EQ(FFF_ARG_HISTORY_LEN, (sizeof voidfunc2_arg0_history) / (sizeof voidfunc2_arg0_history[0])); + ASSERT_EQ(FFF_ARG_HISTORY_LEN, (sizeof voidfunc2_arg1_history) / (sizeof voidfunc2_arg1_history[0])); } TEST_F(FFFTestSuite, when_fake_func_called_then_arguments_captured_in_history) @@ -115,8 +115,8 @@ TEST_F(FFFTestSuite, argument_history_is_reset_when_RESET_FAKE_called) TEST_F(FFFTestSuite, when_fake_func_called_max_times_then_no_argument_histories_dropped) { - int i; - for (i = 0; i < 10; i++) + unsigned int i; + for (i = 0; i < FFF_ARG_HISTORY_LEN; i++) { voidfunc2('1' + i, '2' + i); } @@ -125,8 +125,8 @@ TEST_F(FFFTestSuite, when_fake_func_called_max_times_then_no_argument_histories_ TEST_F(FFFTestSuite, when_fake_func_called_max_times_plus_one_then_one_argument_history_dropped) { - int i; - for (i = 0; i < 10; i++) + unsigned int i; + for (i = 0; i < FFF_ARG_HISTORY_LEN; i++) { voidfunc2('1' + i, '2' + i); } @@ -182,11 +182,11 @@ TEST_F(FFFTestSuite, reset_call_history_resets_call_history) TEST_F(FFFTestSuite, call_history_will_not_write_past_array_bounds) { - for (unsigned int i = 0; i < MAX_CALL_HISTORY + 1; i++) + for (unsigned int i = 0; i < FFF_CALL_HISTORY_LEN + 1; i++) { REGISTER_CALL(longfunc0); } - ASSERT_EQ(MAX_CALL_HISTORY, call_history_idx); + ASSERT_EQ(FFF_CALL_HISTORY_LEN, call_history_idx); } TEST_F(FFFTestSuite, calling_fake_registers_one_call)