OLD | NEW |
1 #!/bin/sh | 1 #!/bin/sh |
2 | 2 |
3 # Run from Skia trunk something like this: | 3 # Run from Skia trunk something like this: |
4 # $ tools/coverage.sh tests | 4 # $ tools/coverage.sh tests |
5 # or | 5 # or |
6 # $ tools/coverage.sh gm | 6 # $ tools/coverage.sh gm |
7 | 7 |
8 set -x | 8 set -x |
9 set -e | 9 set -e |
10 | 10 |
11 COMMAND=$@ | 11 COMMAND=$@ |
12 GCOV=$(realpath tools/gcov_shim) | 12 GCOV=$(realpath tools/gcov_shim) |
13 | 13 |
14 QUIET=-q | 14 QUIET=-q |
15 | 15 |
16 # Build all of Skia. | 16 # Build all of Skia. |
17 ./gyp_skia | 17 ./gyp_skia |
18 ninja -C out/Coverage | 18 ninja -C out/Coverage |
19 | 19 |
20 # Generate a zero-baseline so files not covered by $COMMAND will still show up i
n the report. | 20 # Generate a zero-baseline so files not covered by $COMMAND will still show up i
n the report. |
21 # This reads the .gcno files that are created at compile time. | 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/baselin
e -i | 22 lcov $QUIET --gcov-tool=$GCOV -c -b out/Coverage -d out/Coverage -o /tmp/baselin
e -i |
23 | 23 |
24 # Running the binary generates the real coverage information, the .gcda files. | 24 # Running the binary generates the real coverage information, the .gcda files. |
25 out/Coverage/$COMMAND | 25 out/Coverage/$COMMAND |
26 lcov $QUIET --gcov-tool=$GCOV -c -b out/Coverage -d out/Coverage -o /tmp/coverag
e | 26 lcov $QUIET --gcov-tool=$GCOV -c -b out/Coverage -d out/Coverage -o /tmp/coverag
e |
27 | 27 |
28 lcov $QUIET -a /tmp/baseline -a /tmp/coverage -o /tmp/merged | 28 lcov $QUIET -a /tmp/baseline -a /tmp/coverage -o /tmp/merged |
29 | 29 |
30 genhtml $QUIET /tmp/merged -o out/Coverage/report | 30 genhtml $QUIET /tmp/merged --legend -o out/Coverage/report |
31 xdg-open out/Coverage/report/index.html | 31 xdg-open out/Coverage/report/index.html |
OLD | NEW |