diff options
author | Mike Long <mike@praqma.com> | 2018-10-17 21:56:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-17 21:56:38 +0200 |
commit | cd727d4195b5dec9242c3ed3f48b1ef1214c86e5 (patch) | |
tree | e01d330f8be4adb772fc3e6d448e334fb0085b3a | |
parent | ef24c19e645a778e16ed4c3d396746dd3bff9d35 (diff) | |
parent | 86c5e44614c60aa310b3e7b2893ceb71d64fa091 (diff) | |
download | fff-cd727d4195b5dec9242c3ed3f48b1ef1214c86e5.tar.gz |
Merge pull request #59 from codehearts/reset-call-history-with-FFF_RESET_HISTORY
Clear `fff.call_history` when calling `FFF_RESET_HISTORY`
-rw-r--r-- | fakegen.rb | 6 | ||||
-rw-r--r-- | fff.h | 4 | ||||
-rw-r--r-- | test/test_cases.include | 2 |
3 files changed, 10 insertions, 2 deletions
@@ -466,7 +466,11 @@ def define_fff_globals putd "FFF_END_EXTERN_C" } puts - putd "#define FFF_RESET_HISTORY() fff.call_history_idx = 0;" + putd_backslash "#define FFF_RESET_HISTORY()" + indent { + putd_backslash "fff.call_history_idx = 0;" + putd "memset(fff.call_history, 0, sizeof(fff.call_history));" + } puts putd_backslash "#define REGISTER_CALL(function)" indent { @@ -133,7 +133,9 @@ FFF_END_EXTERN_C \ fff_globals_t fff; \ FFF_END_EXTERN_C -#define FFF_RESET_HISTORY() fff.call_history_idx = 0; +#define FFF_RESET_HISTORY() \ + fff.call_history_idx = 0; \ + memset(fff.call_history, 0, sizeof(fff.call_history)); #define REGISTER_CALL(function) \ if(fff.call_history_idx < FFF_CALL_HISTORY_LEN) \ diff --git a/test/test_cases.include b/test/test_cases.include index de84a5e..51484c1 100644 --- a/test/test_cases.include +++ b/test/test_cases.include @@ -158,11 +158,13 @@ TEST_F(FFFTestSuite, register_call_macro_registers_two_calls) TEST_F(FFFTestSuite, reset_call_history_resets_call_history) { REGISTER_CALL(longfunc0); + REGISTER_CALL(voidfunc1); FFF_RESET_HISTORY(); REGISTER_CALL(voidfunc2); ASSERT_EQ(1u, fff.call_history_idx); ASSERT_EQ(fff.call_history[0], (void *)voidfunc2); + ASSERT_EQ(fff.call_history[1], (void *)0); } TEST_F(FFFTestSuite, call_history_will_not_write_past_array_bounds) |