We have now upgraded our lcov testing to take advantage of lcov 1.9‘s branch coverage.
While code coverage isn’t the be-all-end-all of testing, it is a very useful tool in helping us target areas that could use more tender, loving care (by which I mean beating them mercilessly with our test tools). It doesn’t prove completeness of testing – it merely helps us move in that direction : ) The addition of branch-level coverage gives us another dimension to help us expand our testing. We’re also making use of the –demangle-cpp option to produce neater function names for the function-level coverage.
You can check out the updated reports here. We gather the code coverage of our test suite with every push to trunk and store the data for general analysis.
In other news, Brian has added two new functions for testing. These changes were a part of another blueprint to remove print_stack_trace and stack dump. While I haven’t had a chance to do anything with them yet, I think these will be very useful and look forward to seeing what kinds of tests our community will be able to cook up : )
- Crash the server:
% ./drizzled/drizzled –plugin-add=crash_function
select crash();
- Shutdown the server:
% ./drizzled/drizzled –plugin-add=shutdown_function
select shutdown()
Finally, I have been playing with the syslog plugin and it is awesome! It is easy to setup and is very easy to use. The data produced will be very useful in testing as well. An example produced via a randgen run for your enjoyment:
Pingback: Patrick Crews: Code coverage – now with branches! | Weez.com