Hello,
lcov --no-external -d . -c -o lcov.info
genhtml --show-details --legend --output-directory=coverage --title=PostgreSQL --num-spaces=4 --prefix=./src/ `find . -name lcov.info -print`
I'm trying to measure test coverage on an extension. I've built postgres with the --enable-coverage flag:
$ cd $POSTGRES_SOURCE_DIR
$ ./configure --enable-coverage
$ make
$ make install
The I built my extension against this postgres server
$ cd $EXTENSION_SOURCE_DIR
$ make install && make installcheck
the extension is built fine and the test run. However, I see no difference with a normal installation without the flag.
Then I run the following target (https://stackoverflow.com/questions/31417900/how-to-run-coverage-report-on-a-postgres-extension)
coverage:lcov --no-external -d . -c -o lcov.info
genhtml --show-details --legend --output-directory=coverage --title=PostgreSQL --num-spaces=4 --prefix=./src/ `find . -name lcov.info -print`
But it complains that there are no .gcda files
geninfo: WARNING: no .gcda files found in . - skipping!
and it errors.
genhtml: ERROR: no valid records found in tracefile ./lcov.info
Is this the way to measure coverage on an extension? Am I missing some step?
Thanks in advance
Gabriel Fürstenheim