Skip to content
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

Investigate coverxygen for Cesium Native #1043

Open
azrogers opened this issue Dec 13, 2024 · 1 comment
Open

Investigate coverxygen for Cesium Native #1043

azrogers opened this issue Dec 13, 2024 · 1 comment

Comments

@azrogers
Copy link
Contributor

coverxygen is a tool that generates a documentation code coverage report from Doxygen's XML output. This coverage report can be fed to lcov or output in a summary by the tool itself. An example output from this tool, run on Cesium Native, looks like this:

Classes    :  85.1% (223/262)
Defines    :   0.0% (0/34)
Enum Values:  67.1% (98/146)
Enums      :  79.3% (23/29)
Files      :   0.0% (0/419)
Friends    :   0.0% (0/32)
Functions  :  71.8% (1828/2547)
Namespaces :  78.3% (18/23)
Pages      : 100.0% (6/6)
Structs    :  68.9% (279/405)
Typedefs   :  37.1% (33/89)
Variables  :  47.8% (854/1788)
-----------------------------------
Total      :  58.2% (3362/5780)

It would be useful to have this tool around for Cesium Native, if not in CI then at least as a section in the developer's guide README.

@azrogers
Copy link
Contributor Author

azrogers commented Jan 8, 2025

Took a crack on setting this up in the coverxygen branch, but I've come to the conclusion that I'm not sure this tool will be very useful for our purposes. It helps identify private functions and fields that we haven't yet documented, but we could also toggle EXTRACT_PRIVATE in Doxygen to get the same warnings. Any public methods and fields we haven't documented are already treated as errors by Doxygen. Folks can take a look at the coverage report generated by the CI task in that branch to see if it seems worth it, but I lean towards not cluttering up our CI tasks adding new tools to the process for the sake of adding new tools.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant