mtklein@google.com | 1fb04e2 | 2013-09-13 19:32:43 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | # Run from Skia trunk something like this: |
| 4 | # $ tools/coverage.sh tests |
| 5 | # or |
| 6 | # $ tools/coverage.sh gm |
| 7 | |
| 8 | set -x |
| 9 | set -e |
| 10 | |
| 11 | COMMAND=$@ |
| 12 | GCOV=$(realpath tools/gcov_shim) |
| 13 | |
| 14 | QUIET=-q |
| 15 | |
| 16 | # Build all of Skia. |
| 17 | ./gyp_skia |
| 18 | ninja -C out/Coverage |
| 19 | |
| 20 | # Generate a zero-baseline so files not covered by $COMMAND will still show up in the report. |
| 21 | # This reads the .gcno files that are created at compile time. |
| 22 | lcov $QUIET --gcov-tool=$GCOV -c -b out/Coverage -d out/Coverage -o /tmp/baseline -i |
| 23 | |
| 24 | # Running the binary generates the real coverage information, the .gcda files. |
| 25 | out/Coverage/$COMMAND |
| 26 | lcov $QUIET --gcov-tool=$GCOV -c -b out/Coverage -d out/Coverage -o /tmp/coverage |
| 27 | |
| 28 | lcov $QUIET -a /tmp/baseline -a /tmp/coverage -o /tmp/merged |
| 29 | |
commit-bot@chromium.org | a1a097e | 2013-11-14 16:53:22 +0000 | [diff] [blame] | 30 | genhtml $QUIET /tmp/merged --legend -o out/Coverage/report |
mtklein@google.com | 1fb04e2 | 2013-09-13 19:32:43 +0000 | [diff] [blame] | 31 | xdg-open out/Coverage/report/index.html |