rspangler@google.com | 49fdf18 | 2009-10-10 00:57:34 +0000 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
| 4 | # Use of this source code is governed by a BSD-style license that can be |
| 5 | # found in the LICENSE file. |
| 6 | |
| 7 | set -ex |
| 8 | |
adlr@google.com | c98a7ed | 2009-12-04 18:54:03 +0000 | [diff] [blame] | 9 | scons debug=1 -j 2 |
rspangler@google.com | 49fdf18 | 2009-10-10 00:57:34 +0000 | [diff] [blame] | 10 | lcov -d . --zerocounters |
adlr@google.com | c98a7ed | 2009-12-04 18:54:03 +0000 | [diff] [blame] | 11 | ./update_engine_unittests --gtest_filter='-*.RunAsRoot*:*.Fakeroot*' |
| 12 | fakeroot ./update_engine_unittests --gtest_filter='*.Fakeroot*' |
| 13 | sudo ./update_engine_unittests --gtest_filter='*.RunAsRoot*' |
rspangler@google.com | 49fdf18 | 2009-10-10 00:57:34 +0000 | [diff] [blame] | 14 | lcov --directory . --capture --output-file app.info |
| 15 | |
| 16 | # some versions of genhtml support the --no-function-coverage argument, |
| 17 | # which we want. The problem w/ function coverage is that every template |
| 18 | # instantiation of a method counts as a different method, so if we |
| 19 | # instantiate a method twice, once for testing and once for prod, the method |
| 20 | # is tested, but it shows only 50% function coverage b/c it thinks we didn't |
| 21 | # test the prod version. |
| 22 | genhtml --no-function-coverage -o html ./app.info || genhtml -o html ./app.info |
adlr@google.com | c98a7ed | 2009-12-04 18:54:03 +0000 | [diff] [blame] | 23 | ./local_coverage_rate.sh |