Weekly Snap: EDBC & EventDB, LCOV & Open Source Survey

weekly snap22 – 26 April released event-monitoring tools, highlighted NSClient++ features and code coverage tools and shared survey results on open source.
Jannis released EDBC 0.1.0 Beta and EventDB 2.0.5 Beta to enable users to automatically recognize ‘clear events’ and acknowledge all related problem events.
Gunnar then discovered LCOV for ‘code coverage’ statistics on C-/C++ programs as Christoph finished the NSClient++ series with part 10 on the latest features worth looking at.
Bernd followed with a presentation on The Future of Open Source from Black Duck Software’s recent survey.
Finally, we welcome Blerim our newest addition to the Managed Services team, while we bid Birger a final farewell, who is finishing his sabbatical and time with NETWAYS.

Code Coverage mit LCOV

Auf der Suche nach einem Tool, das “Code Coverage”-Statistiken für C-/C++-Programme generieren kann, bin ich auf LCOV gestoßen:
lcov-icinga2
LCOV generiert zu GCOV-Coverage-Daten HTML-Seiten, auf denen man sich einen Überblick darüber verschaffen kann, welche Codeteile von Unit Tests nicht abgedeckt werden.
Im Schnelldurchlauf lässt sich LCOV wie folgt verwenden:
1. Das eigene Programm muss mit dem Compiler-Flag “–coverage” kompiliert werden, z.B.:

$ gcc -o test --coverage test.c

2. Danach entfernen wir zunächst alle alten Coverage-Daten (falls wir unser Programm vorher schonmal ausgeführt haben):

$ lcov -d . -z

3. Anschließend führen wir unser Programm aus:

$ ./test

4. Und abschließend generieren wir HTML-Seiten zum Programmlauf:

$ lcov -d . -c -o test.info
$ genhtml -o lcov-html test.info

Die HTML-Dateien werden dabei in dem mit -o angegebenen Verzeichnis erstellt.