gcov started to fail after isc-projects/bind9!3991 when generating HTML
report with:
Traceback (most recent call last):
File "/usr/bin/gcovr", line 11, in <module>
load_entry_point('gcovr==4.1', 'console_scripts', 'gcovr')()
File "/usr/lib/python3/dist-packages/gcovr/__main__.py", line 588, in main
print_html_report(covdata, options)
File "/usr/lib/python3/dist-packages/gcovr/html_generator.py", line 275, in print_html_report
errors='replace')
FileNotFoundError: [Errno 2] No such file or directory: 'lib/dns/atomic.h'
The solution is to copy arch-specific isc/atomic.h where gcov expect it.
- cp contrib/dlz/drivers/dlz_drivers.c contrib/dlz/drivers/dlz_filesystem_driver.c contrib/dlz/drivers/sdlz_helper.c bin/named/
# The same reasoning applies for some libisc source files.
- cp lib/isc/app_api.c lib/isc/socket_api.c lib/isc/unix/
+ - cp lib/isc/x86_64/include/isc/atomic.h lib/dns/
- gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories libltdl --exclude-directories lib/samples --exclude 'lib/.*/tests/.*' --html-details -o coverage.html
- gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories libltdl --exclude-directories lib/samples --exclude 'lib/.*/tests/.*' -o coverage.txt
- tail -n 3 coverage.txt