3.1.8. Unit Test
The tool is located in tools/waf-tools
.
3.1.8.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:
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:
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