Hi hackers. The example of test coverage in the documentation [1] works as advertised.
But I wanted to generate test coverage results only of some TAP tests in src/test/subscription. The documentation [1] also says "The make commands also work in subdirectories." so I tried running them all in that folder. However, when I run "make coverage-html" in that subdirectory src/test/subscription it does not work: ===== [postgres@CentOS7-x64 subscription]$ make coverage-html /usr/local/bin/lcov --gcov-tool /usr/bin/gcov -q --no-external -c -i -d . -d . -o lcov_base.info geninfo: WARNING: no .gcno files found in . - skipping! geninfo: WARNING: no .gcno files found in . - skipping! /usr/local/bin/lcov --gcov-tool /usr/bin/gcov -q --no-external -c -d . -d . -o lcov_test.info geninfo: WARNING: no .gcda files found in . - skipping! geninfo: WARNING: no .gcda files found in . - skipping! rm -rf coverage /usr/local/bin/genhtml -q --legend -o coverage --title='PostgreSQL 14devel' --num-spaces=4 --prefix='/home/postgres/oss_postgres_2PC' lcov_base.info lcov_test.info genhtml: ERROR: no valid records found in tracefile lcov_base.info make: *** [coverage-html-stamp] Error 255 [postgres@CentOS7-x64 subscription]$ ===== OTOH, running the "make coverage-html" at the top folder after running my TAP tests does give the desired coverage results. ~ QUESTION: Was that documentation [1] just being misleading by saying it can work in the subdirectories? e.g. Are you only supposed to run "make coverage-html" from the top folder? Or is it supposed to work but I did something wrong? -- [1] https://www.postgresql.org/docs/13/regress-coverage.html Kind Regards. Peter Smith Fujitsu Australia.