-
Notifications
You must be signed in to change notification settings - Fork 16.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TOOLS: add support for GCOV code coverage tool #10635
Conversation
…h LCOV. first, "apt install gcovr lcov" as new prerequisites then run: ./waf configure --enable-gcov ./waf build --lcov-report and after much waiting review the report in HTML format with your preferred browser eg: firefox reports/lcov-report/index.html
Red for the waf output seems a bit extreme. This looks awesome. |
... commit mesage should have |
I didn't get any REPORTS directory at the end of it.
Some of the tests failed - do they have to succeed to run the report generation? |
I really enjoy this, but should we put those function into a new file into ardupilowaf directory to keep the root wscript simple ? |
Peter, yes, all tests have to pass to get a report, why is your fly.Arducopter failing, mine doesn't. Check the output in ./GCOV*.log to see why. |
Khancyr, I'm not really a waf person, but putting the functions into subdir sounds reasonable, if possible, so I'll see what I can do . |
@davidbuzz My guess is that it comes back to the compiler options required to do the coverage analysis. They stuff the timing around sufficiently that the machine I'm trying to run it on can't cope. We're doing better over time on this front, but not there yet. I'll try running this on my primary machine and see what happens. |
Merged via #10696 - awesome! |
very nice ! |
... and HTML coverage reporting with LCOV.
first, "apt install gcovr lcov" as new prerequisites
then run:
./waf configure --enable-gcov
./waf build --lcov-report
and after much waiting review the report in HTML format with your preferred browser eg:
firefox reports/lcov-report/index.html