3.1.14. Waf Tool Unit Test¶
The tool is located in tools/waf-tools.
3.1.14.1. Tool Documentation¶
Implements a waf tool to configure a Ceedling project to foxBMS specific needs and builds and runs the tests.
For information on Ceedling see https://github.com/ThrowTheSwitch/Ceedling.
- 
f_unit_test.add_ceedling_task(self)¶
- Task creator for ceedling. If the coverage option is set, use the coverage task, otherwise the standard task without coverage. 
- 
class f_unit_test.ceedling(*args: Any, **kwargs: Any)¶
- Bases: - waflib.Task.- class to run Ceedling - 
always_run= True¶
- Ceedling handles the need for a re-run, so always run this task - Type
- str 
 
 - 
color= 'GREEN'¶
- color in which the command line is displayed in the terminal - Type
- str 
 
 - 
run_str= '${RUBY} ${CEEDLING} ${CEEDLING_OPTIONS} ${CEEDLING_TEST_OPTIONS}'¶
- string to be interpolated to create the command line to run ceedling (conf.env.CEEDLING_TEST_OPTIONS are applied). - Type
- str 
 
 
- 
- 
class f_unit_test.ceedling_coverage(*args: Any, **kwargs: Any)¶
- Bases: - waflib.Task.- Call ceedling with coverage options - 
always_run= True¶
- Ceedling handles the need for a re-run, so always run this task - Type
- str 
 
 - 
color= 'GREEN'¶
- color in which the command line is displayed in the terminal - Type
- str 
 
 - 
run_str= '${RUBY} ${CEEDLING} ${CEEDLING_OPTIONS} ${CEEDLING_COVERAGE_OPTIONS}'¶
- string to be interpolated to create the command line to run ceedling (conf.env.CEEDLING_COVERAGE_OPTIONS are applied). - Type
- str 
 
 
- 
- 
f_unit_test.configure(conf)¶
- configuration step of the Ceedling waf tool: - Find required software (ruby, gcc, gcov, gcovr and ceedling) 
- configure a ceedling project 
 
