docs: update coverage.markdown

The coverage support in hypervisor is redone. Update the document.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
This commit is contained in:
Wei Liu committed 2017-10-23 14:03:44 +01:00
1 parent 8e77dabc58
commit e1bc61af76
1 file changed
+9 -21
+9 -21
View File
@@ -10,38 +10,26 @@ down your hypervisor.
## Enable coverage
Test coverage support can be turned on compiling Xen with the `coverage` option set
to `y`.
Test coverage support can be turned on compiling Xen with the `CONFIG_GCOV`
option set to `y`.
Something like:
cd xen
make coverage=y
(or change your `.config` file).
Change your `.config` or run `make -C xen menuconfig`.
## Extract coverage data
The way GCC and other tools deal with coverage information is to use some files
created during build phase (.gcno) and some files produced by executing the
*program* (.gcda). The program in this case is Xen but Xen cannot write files
so the way you can use coverage from Xen is extract coverage data from Xen and
then split these information into files.
To extract data you use a simple utility called `xencov`. Mainly `xencore`
allows you to do 3 operations:
To extract data you use a simple utility called `xencov`.
It allows you to do 2 operations:
* `xencov read` extract data
* `xencov reset` reset all coverage counters
* `xencov read-reset` extract data and reset counters at the same time.
Another utility (`xencov_split`) is used to split extracted data file into files
needed by userspace tools.
Another utility (`xencov_split`) is used to split extracted data file into
files needed by userspace tools.
## Split coverage data
Once you extracted data from Xen, it is time to create files which the coverage tools
can understand. To do it you need to run `xencov_split` utility.
Once you extracted data from Xen, it is time to create files which the coverage
tools can understand. To do it you need to run `xencov_split` utility.
The utility just takes an input file and splits the blob into gcc .gcda files
in the same directory that you execute the script. As file names are generated
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.