diff options
Diffstat (limited to 'FreeRTOS/Test/CMock/Readme.md')
-rw-r--r-- | FreeRTOS/Test/CMock/Readme.md | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/FreeRTOS/Test/CMock/Readme.md b/FreeRTOS/Test/CMock/Readme.md index df2c7c105..059f65303 100644 --- a/FreeRTOS/Test/CMock/Readme.md +++ b/FreeRTOS/Test/CMock/Readme.md @@ -21,6 +21,14 @@ Doxygen (optional) ``` 1.8.5 ``` +Python (optional, required for coverage filtering) +``` +Python 3.8 or later +``` +Cflow (optional, required for coverage filtering) +``` +cflow (GNU cflow) 1.6 +``` ## How to run ``` $ make help @@ -41,7 +49,7 @@ $ make doc Would generate the doxygen documentation in build/doc ``` -$ make run | run_formatted | run_col | run_col_formatted +$ make run | run_formatted | run_col | run_col_formatted ``` Would build all unit tests and runs them one after the other with different options between normal and formatted and colored for easily spotting errors @@ -52,3 +60,30 @@ $ make coverage Would build all unit tests, runs them one after the other, then generates html code coverage and places them in build/coverage with initial file index.html +## Running individual tests +From each test directory, you can build, run the test, and generate gcov coverage with the default "all" target like so: +``` +$ make -C list +``` +For convenience, a "gcov" target is also provided. +``` +$ make -C list gcov +``` +Alternatively, you can generate filtered coverage with the "lcov" target: +``` +$ make -C list lcov +``` +You can also generate an html coverage report with the lcovhtml target: +``` +$ make -C list lcovhtml +``` + +## Coverage Filtering ## +Coverage filtering is meant to remove "unintentional" or "incidental" test coverage that is generated by other test cases which call a specific function but are not meant to test that function. +In order to use coverage filtering and the associated lcov and lcovhtml targets, you must install the "optional" requirements listed above. + + +Additionally, you must also document which functions you are targeting inside each _utest.c file with a tag inside each file similar to the following: +``` +@coverage vFunctionNameHere vAnotherFunctionNameHere +``` |