Re: Bogus reports from coverage.postgresql.org
От | Tom Lane |
---|---|
Тема | Re: Bogus reports from coverage.postgresql.org |
Дата | |
Msg-id | 5744.1521045105@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Bogus reports from coverage.postgresql.org (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Bogus reports from coverage.postgresql.org
Re: Bogus reports from coverage.postgresql.org |
Список | pgsql-www |
I wrote: > I also notice an interesting warning with either version: > $ make coverage-html > /usr/bin/lcov --gcov-tool /usr/bin/gcov -q --no-external -c -i -d . -d . -o lcov_base.info > geninfo: Note: --initial does not generate branch coverage data > /usr/bin/lcov --gcov-tool /usr/bin/gcov -q --no-external -c -d . -d . -o lcov_test.info > rm -rf coverage > /usr/bin/genhtml -q --legend -o coverage --title='PostgreSQL 11devel' --num-spaces=4 --prefix='/home/tgl/pgsql' lcov_base.infolcov_test.info > touch coverage-html-stamp > No idea what "--initial" refers to, but it suggests that we're > misusing the tool somehow with this configuration. So I went and read the lcov man page, and according to it we're doing this entirely wrong. The correct process, saith lcov, is -i --initial Capture initial zero coverage data. Run lcov with -c and this option on the directories containing .bb, .bbg or .gcno files before running any test case. The result is a "baseline" coverage data file that contains zero coverage for every instrumented line. Combine this data file (using lcov -a) with coverage data files captured after a test run to ensure that the percentage of total lines covered is cor- rect even when not all source code files were loaded during the test. Recommended procedure when capturing data for a test case: 1. create baseline coverage data file # lcov -c -i -d appdir -o app_base.info 2. perform test # appdir/test 3. create test coverage data file # lcov -c -d appdir -o app_test.info 4. combine baseline and test coverage data # lcov -a app_base.info -a app_test.info -o app_total.info Our process swaps steps 1 and 2. What I now suspect is that we accidentally get away with that for basic mode, but it doesn't work with lcov_branch_coverage. regards, tom lane
В списке pgsql-www по дате отправления: