# ========================================================================= # CMock - Automatic Mock Generation for C # ThrowTheSwitch.org # Copyright (c) 2007-25 Mike Karlesky, Mark VanderVoord, & Greg Williams # SPDX-License-Identifier: MIT # ========================================================================= --- :cmock: :plugins: - # none :skeleton_path: system/generated :systest: :types: | #define UINT32 unsigned int :mockable: | UINT32 something(int a); :skeleton: skeleton_update.h :source: :header: | void function_a(void); int function_b(int a, int b); const char* function_c(void); # note that this code section exists and will be updated by the skeleton generator :code: | const char* donuts = "donuts"; const char* function_c(void) { return donuts; } int function_d(void) { return 77; } :tests: :common: | void setUp(void) {} void tearDown(void) {} extern int function_d(void); :units: - :pass: TRUE :should: 'generate an empty shell for functions with no return values' :code: | test() { function_a(); } - :pass: TRUE :should: 'return numerical zero for numerical return values' :code: | test() { TEST_ASSERT_EQUAL_INT(0, function_b(1, 2)); } - :pass: TRUE :should: 'not overwrite functions that already exist' :code: | test() { TEST_ASSERT_EQUAL_STRING("donuts", function_c()); } - :pass: TRUE :should: 'leave functions it has never heard of' :code: | test() { TEST_ASSERT_EQUAL_INT(77, function_d()); } ...