Bug: http://b/160401633
This is a tool for gathering coverage information from a device and
generating an LLVM coverage report from that information. See top of
the file for usage instructions.
Also redirect acov users to acov-llvm when CLANG_COVERAGE is set.
Test: acov-llvm.py wih clean-device, flush and report subcommands.
Change-Id: I5dba3a669bb6ac2797093903536f346228625c05
Also adds the ability to pass arbitrary arguments to lcov, in case the
user needs to override this behavior.
Change-Id: I66b842f92f546fee17a7f1033ef590a3380c14c4
The --clean flag clears ANDROID_PRODUCT_OUT and ANDROID_HOST_OUT of
all coverage files. If a source file that had a coverage notes file
(a .gcno) generated for it is renamed or removed, the build system
will not clean the old file, which means the coverage tool will still
try to find coverage data.
The --prep flag clears just coverage data files. This should be done
before any coverage run, as you don't want old coverage data affecting
your results.
Change-Id: Id68395d19369eba4589daff90461a10cf7aef66d
acov is a tool for gathering coverage information from a device and
generating a report from that information. To use:
1. sudo apt-get install lcov
2. Build application/library with coverage information.
3. Push the new binaries to the device.
4. Run tests with the additional environment variables:
* GCOV_PREFIX=/data/local/tmp/gcov
* GCOV_PREFIX_STRIP=`echo $(ANDROID_BUILD_TOP) | grep -o / | wc -l`
5. Run `acov`.
acov will pull all coverage information from the device, push it to the
right directories, run lcov, and display the coverage report (currently
by opening it in your browser).
Bug: 10134489
Change-Id: I604c8ec2e9fa5d23ee9c279b515ff6cfc497dfa7