62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| # 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.
 |