diff --git a/README.md b/README.md index 3c8e4f8..4c86b9e 100644 --- a/README.md +++ b/README.md @@ -218,7 +218,16 @@ function is called ## User Defined Argument History -Coming soon! +If you wish to control how many calls to capture for argument history you can +overide the default by defining it before include the fff.h like this: + + // Want to keep the argument history for 13 calls + #define FFF_ARG_HISTORY_LEN 13 + // Want to keep the call sequence history for 17 function calls + #define FFF_CALL_HISTORY_LEN 17 + + #include "../fff.h" + ## Function Return Value Sequences diff --git a/buildandtest b/buildandtest new file mode 100755 index 0000000..85fb419 --- /dev/null +++ b/buildandtest @@ -0,0 +1,3 @@ +#!/bin/sh +ruby fakegen.rb > fff.h && make clean && make all && build/fff_test_c && build/fff_test_cpp + diff --git a/fakegen.rb b/fakegen.rb index d954e03..e140cb3 100644 --- a/fakegen.rb +++ b/fakegen.rb @@ -9,9 +9,13 @@ $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})" + puts "#define FFF_MAX_ARGS (#{$MAX_ARGS}u)" + puts "#ifndef FFF_ARG_HISTORY_LEN" + puts " #define FFF_ARG_HISTORY_LEN (#{$DEFAULT_ARG_HISTORY}u)" + puts "#endif" + puts "#ifndef FFF_CALL_HISTORY_LEN" + puts " #define FFF_CALL_HISTORY_LEN (#{$MAX_CALL_HISTORY}u)" + puts "#endif" end def output_macro(args, is_value_function) @@ -96,7 +100,7 @@ def output_argument_capture_variables(i) # last argument puts " static ARG#{i}_TYPE FUNCNAME##_arg#{i}_val; \\" # argument history array - puts " static ARG#{i}_TYPE FUNCNAME##_arg#{i}_history[#{$DEFAULT_ARG_HISTORY}];\\" + puts " static ARG#{i}_TYPE FUNCNAME##_arg#{i}_history[FFF_ARG_HISTORY_LEN];\\" end def output_variables(arg_count, is_value_function) @@ -106,7 +110,7 @@ def output_variables(arg_count, is_value_function) puts " static int FUNCNAME##_return_val_seq_idx = 0; \\" unless not is_value_function puts " static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \\" unless not is_value_function puts " static unsigned int FUNCNAME##_call_count = 0; \\" - puts " static unsigned int FUNCNAME##_arg_history_len = #{$DEFAULT_ARG_HISTORY};\\" + puts " static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\\" puts " static unsigned int FUNCNAME##_arg_histories_dropped = 0; \\" end @@ -186,15 +190,14 @@ def define_reset_fake end def define_call_history - puts "#define MAX_CALL_HISTORY #{$MAX_CALL_HISTORY}u" - puts "static void * call_history[MAX_CALL_HISTORY];" + puts "static void * call_history[FFF_CALL_HISTORY_LEN];" puts "static unsigned int call_history_idx;" puts "static void RESET_HISTORY() { " puts " call_history_idx = 0; " puts "}" puts "#define REGISTER_CALL(function) \\" - puts " if(call_history_idx < MAX_CALL_HISTORY) call_history[call_history_idx++] = (void *)function;" + puts " if(call_history_idx < FFF_CALL_HISTORY_LEN) call_history[call_history_idx++] = (void *)function;" end def define_return_sequence @@ -243,6 +246,6 @@ output_c_and_cpp{ define_return_sequence output_cpp_reset_code if $cpp_output output_cpp_static_initializer if $cpp_output - 10.times {|arg_count| output_macro(arg_count, false)} - 10.times {|arg_count| output_macro(arg_count, true)} + $MAX_ARGS.times {|arg_count| output_macro(arg_count, false)} + $MAX_ARGS.times {|arg_count| output_macro(arg_count, true)} } \ No newline at end of file diff --git a/fff.h b/fff.h index bd91ce7..9e7e7d9 100644 --- a/fff.h +++ b/fff.h @@ -2,23 +2,26 @@ #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) +#define FFF_MAX_ARGS (10u) +#ifndef FFF_ARG_HISTORY_LEN + #define FFF_ARG_HISTORY_LEN (50u) +#endif +#ifndef FFF_CALL_HISTORY_LEN + #define FFF_CALL_HISTORY_LEN (50u) +#endif /* Defining a function to reset a fake function */ #define RESET_FAKE(FUNCNAME) { \ FUNCNAME##_reset(); \ } \ -#define MAX_CALL_HISTORY 50u -static void * call_history[MAX_CALL_HISTORY]; +static void * call_history[FFF_CALL_HISTORY_LEN]; static unsigned int call_history_idx; static void RESET_HISTORY() { call_history_idx = 0; } #define REGISTER_CALL(function) \ - if(call_history_idx < MAX_CALL_HISTORY) call_history[call_history_idx++] = (void *)function; + if(call_history_idx < FFF_CALL_HISTORY_LEN) call_history[call_history_idx++] = (void *)function; #define SET_RETURN_SEQ( FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \ FUNCNAME##_return_val_seq = ARRAY_POINTER; \ FUNCNAME##_return_val_seq_len = ARRAY_LEN; @@ -51,7 +54,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 = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(){ \ if(FUNCNAME##_call_count >= FUNCNAME##_arg_history_len){\ @@ -71,9 +74,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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0){ \ FUNCNAME##_arg0_val = arg0; \ @@ -99,11 +102,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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ FUNCNAME##_arg0_val = arg0; \ @@ -135,13 +138,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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ FUNCNAME##_arg0_val = arg0; \ @@ -179,15 +182,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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -231,17 +234,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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -291,19 +294,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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -359,21 +362,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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -435,23 +438,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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[50];\ + static ARG7_TYPE FUNCNAME##_arg7_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -519,25 +522,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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[50];\ + static ARG7_TYPE FUNCNAME##_arg7_history[FFF_ARG_HISTORY_LEN];\ static ARG8_TYPE FUNCNAME##_arg8_val; \ - static ARG8_TYPE FUNCNAME##_arg8_history[50];\ + static ARG8_TYPE FUNCNAME##_arg8_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -615,7 +618,7 @@ extern "C"{ \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(){ \ if(FUNCNAME##_call_count >= FUNCNAME##_arg_history_len){\ @@ -646,13 +649,13 @@ 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0){ \ FUNCNAME##_arg0_val = arg0; \ @@ -689,15 +692,15 @@ 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ FUNCNAME##_arg0_val = arg0; \ @@ -740,17 +743,17 @@ 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ FUNCNAME##_arg0_val = arg0; \ @@ -799,19 +802,19 @@ 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -866,21 +869,21 @@ 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -941,23 +944,23 @@ 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1024,25 +1027,25 @@ 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1115,27 +1118,27 @@ 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[50];\ + static ARG7_TYPE FUNCNAME##_arg7_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1214,29 +1217,29 @@ 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[50];\ + static ARG7_TYPE FUNCNAME##_arg7_history[FFF_ARG_HISTORY_LEN];\ static ARG8_TYPE FUNCNAME##_arg8_val; \ - static ARG8_TYPE FUNCNAME##_arg8_history[50];\ + static ARG8_TYPE FUNCNAME##_arg8_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1317,23 +1320,26 @@ extern "C"{ \ STATIC_INIT(FUNCNAME) \ #else /* ansi c */ -#define FFF_MAX_ARGS ((unsigned)10) -#define FFF_ARG_HISTORY_LEN ((unsigned)50) -#define FFF_CALL_HISTORY_LEN ((unsigned)50) +#define FFF_MAX_ARGS (10u) +#ifndef FFF_ARG_HISTORY_LEN + #define FFF_ARG_HISTORY_LEN (50u) +#endif +#ifndef FFF_CALL_HISTORY_LEN + #define FFF_CALL_HISTORY_LEN (50u) +#endif /* Defining a function to reset a fake function */ #define RESET_FAKE(FUNCNAME) { \ FUNCNAME##_reset(); \ } \ -#define MAX_CALL_HISTORY 50u -static void * call_history[MAX_CALL_HISTORY]; +static void * call_history[FFF_CALL_HISTORY_LEN]; static unsigned int call_history_idx; static void RESET_HISTORY() { call_history_idx = 0; } #define REGISTER_CALL(function) \ - if(call_history_idx < MAX_CALL_HISTORY) call_history[call_history_idx++] = (void *)function; + if(call_history_idx < FFF_CALL_HISTORY_LEN) call_history[call_history_idx++] = (void *)function; #define SET_RETURN_SEQ( FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \ FUNCNAME##_return_val_seq = ARRAY_POINTER; \ FUNCNAME##_return_val_seq_len = ARRAY_LEN; @@ -1341,7 +1347,7 @@ static void RESET_HISTORY() { /* 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 = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(){ \ if(FUNCNAME##_call_count >= FUNCNAME##_arg_history_len){\ @@ -1358,9 +1364,9 @@ static 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1383,11 +1389,11 @@ static 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1416,13 +1422,13 @@ static 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1457,15 +1463,15 @@ static 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1506,17 +1512,17 @@ static 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1563,19 +1569,19 @@ static 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1628,21 +1634,21 @@ static 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1701,23 +1707,23 @@ static 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[50];\ + static ARG7_TYPE FUNCNAME##_arg7_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1782,25 +1788,25 @@ static 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[50];\ + static ARG7_TYPE FUNCNAME##_arg7_history[FFF_ARG_HISTORY_LEN];\ static ARG8_TYPE FUNCNAME##_arg8_val; \ - static ARG8_TYPE FUNCNAME##_arg8_history[50];\ + static ARG8_TYPE FUNCNAME##_arg8_history[FFF_ARG_HISTORY_LEN];\ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -1875,7 +1881,7 @@ static void RESET_HISTORY() { static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(){ \ if(FUNCNAME##_call_count >= FUNCNAME##_arg_history_len){\ @@ -1903,13 +1909,13 @@ static void RESET_HISTORY() { /* 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1943,15 +1949,15 @@ static void RESET_HISTORY() { /* 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ FUNCNAME##_arg0_val = arg0; \ @@ -1991,17 +1997,17 @@ static void RESET_HISTORY() { /* 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ static unsigned int FUNCNAME##_arg_histories_dropped = 0; \ RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ FUNCNAME##_arg0_val = arg0; \ @@ -2047,19 +2053,19 @@ static void RESET_HISTORY() { /* 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -2111,21 +2117,21 @@ static void RESET_HISTORY() { /* 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -2183,23 +2189,23 @@ static void RESET_HISTORY() { /* 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -2263,25 +2269,25 @@ static void RESET_HISTORY() { /* 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -2351,27 +2357,27 @@ static void RESET_HISTORY() { /* 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[50];\ + static ARG7_TYPE FUNCNAME##_arg7_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ @@ -2447,29 +2453,29 @@ static void RESET_HISTORY() { /* 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[50];\ + static ARG0_TYPE FUNCNAME##_arg0_history[FFF_ARG_HISTORY_LEN];\ static ARG1_TYPE FUNCNAME##_arg1_val; \ - static ARG1_TYPE FUNCNAME##_arg1_history[50];\ + static ARG1_TYPE FUNCNAME##_arg1_history[FFF_ARG_HISTORY_LEN];\ static ARG2_TYPE FUNCNAME##_arg2_val; \ - static ARG2_TYPE FUNCNAME##_arg2_history[50];\ + static ARG2_TYPE FUNCNAME##_arg2_history[FFF_ARG_HISTORY_LEN];\ static ARG3_TYPE FUNCNAME##_arg3_val; \ - static ARG3_TYPE FUNCNAME##_arg3_history[50];\ + static ARG3_TYPE FUNCNAME##_arg3_history[FFF_ARG_HISTORY_LEN];\ static ARG4_TYPE FUNCNAME##_arg4_val; \ - static ARG4_TYPE FUNCNAME##_arg4_history[50];\ + static ARG4_TYPE FUNCNAME##_arg4_history[FFF_ARG_HISTORY_LEN];\ static ARG5_TYPE FUNCNAME##_arg5_val; \ - static ARG5_TYPE FUNCNAME##_arg5_history[50];\ + static ARG5_TYPE FUNCNAME##_arg5_history[FFF_ARG_HISTORY_LEN];\ static ARG6_TYPE FUNCNAME##_arg6_val; \ - static ARG6_TYPE FUNCNAME##_arg6_history[50];\ + static ARG6_TYPE FUNCNAME##_arg6_history[FFF_ARG_HISTORY_LEN];\ static ARG7_TYPE FUNCNAME##_arg7_val; \ - static ARG7_TYPE FUNCNAME##_arg7_history[50];\ + static ARG7_TYPE FUNCNAME##_arg7_history[FFF_ARG_HISTORY_LEN];\ static ARG8_TYPE FUNCNAME##_arg8_val; \ - static ARG8_TYPE FUNCNAME##_arg8_history[50];\ + static ARG8_TYPE FUNCNAME##_arg8_history[FFF_ARG_HISTORY_LEN];\ static RETURN_TYPE FUNCNAME##_return_val; \ static int FUNCNAME##_return_val_seq_len = 0; \ static int FUNCNAME##_return_val_seq_idx = 0; \ static RETURN_TYPE * FUNCNAME##_return_val_seq = 0; \ static unsigned int FUNCNAME##_call_count = 0; \ - static unsigned int FUNCNAME##_arg_history_len = 50;\ + static unsigned int FUNCNAME##_arg_history_len = FFF_ARG_HISTORY_LEN;\ 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; \ diff --git a/test/fff_test_c.c b/test/fff_test_c.c index cb7f18f..0519d27 100644 --- a/test/fff_test_c.c +++ b/test/fff_test_c.c @@ -1,3 +1,11 @@ + +// Want to keep the argument history for 13 calls +#define OVERRIDE_ARG_HIST_LEN 13u +#define FFF_ARG_HISTORY_LEN OVERRIDE_ARG_HIST_LEN +// Want to keep the call sequence history for 17 function calls +#define OVERRIDE_CALL_HIST_LEN 17u +#define FFF_CALL_HISTORY_LEN OVERRIDE_CALL_HIST_LEN + #include "../fff.h" #include @@ -239,6 +247,12 @@ TEST_F(FFFTestSuite, return_value_sequences_reset) ASSERT_EQ(0, longfunc0()); } +TEST_F(FFFTestSuite, default_constants_can_be_overridden) +{ + unsigned sizeCallHistory = (sizeof call_history) / (sizeof call_history[0]); + ASSERT_EQ(OVERRIDE_CALL_HIST_LEN, sizeCallHistory); + ASSERT_EQ(OVERRIDE_ARG_HIST_LEN, voidfunc2_arg_history_len); +} int main() { @@ -276,6 +290,7 @@ int main() RUN_TEST(FFFTestSuite, return_value_sequences_not_exhausted); RUN_TEST(FFFTestSuite, return_value_sequences_exhausted); + RUN_TEST(FFFTestSuite, default_constants_can_be_overridden); printf("\n-------------\n"); printf("Complete\n"); diff --git a/test/fff_test_cpp.cpp b/test/fff_test_cpp.cpp index c2dcd71..f4ced16 100644 --- a/test/fff_test_cpp.cpp +++ b/test/fff_test_cpp.cpp @@ -5,6 +5,13 @@ * Author: mlong */ +// Want to keep the argument history for 13 calls +#define OVERRIDE_ARG_HIST_LEN 13u +#define FFF_ARG_HISTORY_LEN OVERRIDE_ARG_HIST_LEN +// Want to keep the call sequence history for 17 function calls +#define OVERRIDE_CALL_HIST_LEN 17u +#define FFF_CALL_HISTORY_LEN OVERRIDE_CALL_HIST_LEN + #include "../fff.h" #include @@ -227,3 +234,11 @@ TEST_F(FFFTestSuite, return_value_sequences_reset) ASSERT_EQ(0, longfunc0()); } + +TEST_F(FFFTestSuite, default_constants_can_be_overridden) +{ + unsigned sizeCallHistory = (sizeof call_history) / (sizeof call_history[0]); + ASSERT_EQ(OVERRIDE_CALL_HIST_LEN, sizeCallHistory); + ASSERT_EQ(OVERRIDE_ARG_HIST_LEN, voidfunc2_arg_history_len); +} +