tree: e0d7345f5c5c9de56868ed26e4d3326de4fb2005 [path history] [tgz]
  1. aplog2coverage.sh
  2. coverage.py
  3. coverage.xsl
  4. README.md
tools/coverage/README.md

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.