| # Domain coverage report |
| |
| ## Introduction |
| |
| During the PFW's life cycle, criteria states are changed and configurations are |
| applied. |
| |
| This report gives the coverage for : |
| |
| - Criterion: detect easily which criterion state aren't used. |
| - Configuration: detect configuration that are never applied. |
| - Configuration rule: part of the rules that are useless and could be removed. |
| - Total average coverage |
| |
| Two things are needed to generate a coverage report: |
| |
| 1. The Settings file |
| 2. parameter-framework logs |
| |
| ## How to get the Settings file |
| |
| Usually, you have this file at hand. But if getting the Settings file is |
| painful, you may use remote-process to print it: |
| |
| remote-process <host> <port> getDomainsWithSettingsXML > domains.xml |
| |
| ## How to get PFW logs |
| |
| You must get the logs from the start of the parameter-framework. |
| |
| On Android, you should stop the process instantiating the parameter-framework, |
| clear the logs, start the process and get the logs using logcat. E.g: |
| |
| $ adb shell stop your_process |
| $ adb logcat -c |
| $ adb logcat > coverage.log & |
| $ adb shell start your_process |
| ... do your testing ... |
| kill the background logcat started above |
| |
| ## How to generate the report |
| |
| Then execute : |
| |
| $ aplog2coverage.sh -d domains.xml -e<some_regex> coverage.log -o coverageReport.html |
| |
| You may pass several log files. |
| |
| The regex (-e argument) is used to match relevant log lines: If you have |
| several PFW instances running, you need to have a way to tell which instance is |
| logging each line. Besides, if accelerates the parsing by eliminating |
| irrelevant log lines. |
| |
| You may pass the optional `-f` argument to ignore some parse errors. |
| |
| ### Limitations |
| |
| - Having more than one dot (".") in log paths is not supported (see the sort |
| implementation (sort -rn -k2 -t.) in aplog2coverage.sh). |
| - A PFW start log line must be at the head of the oldest log: no |
| applyconfiguration or set criterion log should be found before the PFW start. |