DGCov
The DGCov tool is used to test that all changes made in a patch are fully covered by a testsuite.
This is very useful when doing many changes across a large source base. By using this tool, it is easy to determine if all lines in the source touched by your changes have been executed at least once during testing. This is a great way to avoid embarresments like committing (or even releasing) an infinite loop or other gross error.
Contents |
[edit] Documentation
This page describes the use of DGCov.
[edit] Source
The DGCov tool is a simple Perl script with no requirements on non-standard modules. The code is available as a MySQL Forge snippet.
[edit] License
The code is made available under the GNU public license.
[edit] Future
The DCGov tool arose as an internal tool at MySQL for checking patches against the server code. But it is reasonably self-contained, and not really specific to the MySQL source code.
Due to its history, it is currently tied to Bazaar. But it would be a relatively simple task to make it work with other revision control systems, or even to make it work from just a diff-style patch file. It already contains code to read both annotate/blame style output and regular diffs.
[edit] Author
The DCGov tool was written by Kristian Nielsen, <knielsen@mysql.com>, based on an idea by Monty.