1# Domain coverage report 2 3## Introduction 4 5During the PFW's life cycle, criteria states are changed and configurations are 6applied. 7 8This report gives the coverage for : 9 10- Criterion: detect easily which criterion state aren't used. 11- Configuration: detect configuration that are never applied. 12- Configuration rule: part of the rules that are useless and could be removed. 13- Total average coverage 14 15Two things are needed to generate a coverage report: 16 171. The Settings file 182. parameter-framework logs 19 20## How to get the Settings file 21 22Usually, you have this file at hand. But if getting the Settings file is 23painful, you may use remote-process to print it: 24 25 remote-process <host> <port> getDomainsWithSettingsXML > domains.xml 26 27## How to get PFW logs 28 29You must get the logs from the start of the parameter-framework. 30 31On Android, you should stop the process instantiating the parameter-framework, 32clear the logs, start the process and get the logs using logcat. E.g: 33 34 $ adb shell stop your_process 35 $ adb logcat -c 36 $ adb logcat > coverage.log & 37 $ adb shell start your_process 38 ... do your testing ... 39 kill the background logcat started above 40 41## How to generate the report 42 43Then execute : 44 45 $ aplog2coverage.sh -d domains.xml -e<some_regex> coverage.log -o coverageReport.html 46 47You may pass several log files. 48 49The regex (-e argument) is used to match relevant log lines: If you have 50several PFW instances running, you need to have a way to tell which instance is 51logging each line. Besides, if accelerates the parsing by eliminating 52irrelevant log lines. 53 54You may pass the optional `-f` argument to ignore some parse errors. 55 56### Limitations 57 58- Having more than one dot (".") in log paths is not supported (see the sort 59 implementation (sort -rn -k2 -t.) in aplog2coverage.sh). 60- A PFW start log line must be at the head of the oldest log: no 61 applyconfiguration or set criterion log should be found before the PFW start. 62