Partials Macros Reference
Documentation convention
* is a stand-in or wildcard to refer to all variations of a particular macro type.
Partial directive macros
Tip
For detailed usage guidance, conventions, and examples, see Partial Directive Macros.
Module selection macros
Test Partials macros
These macros expand to a string literal that names a generated header
file to be used with #include. #include "ceedling.h" must precede
their use.
TEST_PARTIAL_ALL_MODULE(module)
Select all functions in the module to be testable by Partial.TEST_PARTIAL_PUBLIC_MODULE(module)
Select all public (non-static, non-inline) functions in the module to be testable by Partial.TEST_PARTIAL_PRIVATE_MODULE(module)
Select all private (staticandinline) functions in the module to be testable by Partial.TEST_PARTIAL_MODULE(module)
Begin with an empty function set to be testable by Partial; functions must be added explicitly viaTEST_PARTIAL_CONFIG.
TEST_PARTIAL_* macros expand to an implementation header filename.
Mock Partials macros
MOCK_PARTIAL_ALL_MODULE(module)
Select all functions in the module to be mockable by Partial.MOCK_PARTIAL_PUBLIC_MODULE(module)
Select all public (non-static, non-inline) functions in the module to be mockable by Partial.MOCK_PARTIAL_PRIVATE_MODULE(module)
Select all private (staticandinline) functions in the module to be mockable by Partial.MOCK_PARTIAL_MODULE(module)
Begin with an empty function set to be mockable by Partial; functions must be added explicitly viaMOCK_PARTIAL_CONFIG.
MOCK_PARTIAL_* macros expand to a mockable interface header filename.
Function list configuration macros
These macros are statements (not to be used with #include directives)
that refine the set of functions selected by the use of any module selection
macro above.
TEST_PARTIAL_CONFIG(module, func...)
Add or subtract functions from the test Partial’s function set.MOCK_PARTIAL_CONFIG(module, func...)
Add or subtract functions from the mock Partial’s function set.
Function list addition and subtraction
Tip
For the full rules on which additions and subtractions are valid with
each *_MODULE variant, see
Partial directive macros.
- Prefix a function name with
-(-func) to exclude it from the Partial. - Use no prefix or
+(+func) to include it.
A function explicitly added to one side is automatically removed from the complementary Partial to prevent duplicate symbol linker errors.
Promoted static variable access
Tip
For the full explanation of how Ceedling promotes function-scoped static
variables to module scope and when to use this macro, see
Accessing Static Variables.
PARTIAL_LOCAL_VAR(function_name, variable_name)
Access a function-scoped static variable that Ceedling has promoted to
module scope in a generated Partial. The macro expands to the promoted
identifier partial_<function_name>_<variable_name>.
- Defined in
ceedling.h; requires#include "ceedling.h"above its use - Both arguments must be literal C identifiers — not strings or runtime values
- Can appear anywhere a variable name is legal: expressions, assertions, assignments