You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB

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.