From 480c88e1af0465cee6e9e41fd504117321121b78 Mon Sep 17 00:00:00 2001 From: Mike Long Date: Tue, 29 May 2012 08:33:23 +0800 Subject: [PATCH] Added helper macro to generate fake reset function --- fakegen.rb | 16 ++++++-- fff3.h | 108 ++++++++++++++--------------------------------------- 2 files changed, 40 insertions(+), 84 deletions(-) diff --git a/fakegen.rb b/fakegen.rb index 7a18b00..aea1d51 100644 --- a/fakegen.rb +++ b/fakegen.rb @@ -27,7 +27,7 @@ def output_internal_helper_macros putd "/* -- INTERNAL HELPER MACROS -- */" define_return_sequence_helper - define_reset_fake_helper + define_reset_fake_macro define_declare_arg_helper define_declare_all_func_common_helper define_save_arg_helper @@ -38,6 +38,7 @@ def output_internal_helper_macros define_increment_call_count_helper define_return_fake_result_helper define_extern_c_helper + define_reset_fake_helper putd "/* -- END INTERNAL HELPER MACROS -- */" putd "" @@ -49,7 +50,7 @@ def define_return_sequence_helper putd " FUNCNAME##_fake.return_val_seq_len = ARRAY_LEN;" end -def define_reset_fake_helper +def define_reset_fake_macro putd "" putd "/* Defining a function to reset a fake function */" putd "#define RESET_FAKE(FUNCNAME) { \\" @@ -134,6 +135,15 @@ def define_extern_c_helper putd " #define END_EXTERN_C " putd "#endif /* cpp/ansi c */" end + +def define_reset_fake_helper + putd "" + putd "#define DEFINE_RESET_FUNCTION(FUNCNAME) \\" + putd " void FUNCNAME##_reset(){ \\" + putd " memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \\" + putd " FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\\" + putd " }" +end # ------ End Helper macros ------ # #fakegen helpers to print at levels of indentation @@ -177,7 +187,7 @@ def output_macro(arg_count, is_value_function) output_function_body(arg_count, is_value_function) popd putd "} \\" - output_reset_function(arg_count, is_value_function) + putd "DEFINE_RESET_FUNCTION(FUNCNAME) \\" } popd diff --git a/fff3.h b/fff3.h index e5daec3..63f7f7d 100644 --- a/fff3.h +++ b/fff3.h @@ -9,7 +9,7 @@ #define FFF_CALL_HISTORY_LEN (50u) #endif /* -- INTERNAL HELPER MACROS -- */ -#define SET_RETURN_SEQ( FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \ +#define SET_RETURN_SEQ(FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \ FUNCNAME##_fake.return_val_seq = ARRAY_POINTER; \ FUNCNAME##_fake.return_val_seq_len = ARRAY_LEN; @@ -65,6 +65,12 @@ #define EXTERN_C #define END_EXTERN_C #endif /* cpp/ansi c */ + +#define DEFINE_RESET_FUNCTION(FUNCNAME) \ + void FUNCNAME##_reset(){ \ + memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ + FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ + } /* -- END INTERNAL HELPER MACROS -- */ typedef struct { @@ -110,10 +116,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC0(FUNCNAME) \ @@ -147,10 +150,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ @@ -187,10 +187,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ @@ -230,10 +227,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ @@ -276,10 +270,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ @@ -325,10 +316,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ @@ -377,10 +365,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ @@ -432,10 +417,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ @@ -490,10 +472,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ @@ -551,10 +530,7 @@ END_EXTERN_C \ if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \ REGISTER_CALL(FUNCNAME); \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ @@ -587,10 +563,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ @@ -626,10 +599,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ @@ -668,10 +638,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ @@ -713,10 +680,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ @@ -761,10 +725,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ @@ -812,10 +773,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ @@ -866,10 +824,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ @@ -923,10 +878,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ @@ -983,10 +935,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #define FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ @@ -1046,10 +995,7 @@ END_EXTERN_C \ REGISTER_CALL(FUNCNAME); \ RETURN_FAKE_RESULT(FUNCNAME) \ } \ - void FUNCNAME##_reset(){ \ - memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ - FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN;\ - } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ END_EXTERN_C \ #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) \