Code Coverage unter Linux

Posted by : MOnsDaR | Samstag, 24. April 2010 | Published in

Um zu testen, ob die geschriebenen Unittests wirklich alle wichtigen Teile des Codes abdecken, führt man Coverage-Tests durch. Hierbei wird der Test ausgeführt und geloggt, welche Zeilen im Code angesprungen werden.

Coverage1

Im Bild ist ein Coverage-Report abgebildet, bei dem der if-Zweig des Programmes nicht berücksichtigt wird. Der zugehörige Unittest hat also nur einen Teil des Codes überprüft und sollte erweitert werden.

Doch womit generiert man Coverage Reports?

Unter Linux gibt es das Tool gcov, welches in Zusammenarbeit mit gcc textuelle Auswertungen erstellen kann.

 Coverage2

Diese Reports sind leider nicht sehr informativ, sie lassen sich nicht besonders gut lesen und es fehlt eine Zusammenfassung der Coverage.

Abhilfe schafft hier das Tool lcov, welches bei vielen Distributionen in den Repositories liegt. Es verarbeitet die Coverage-Informationen des gcc zu einer info-Datei, die man dann mit dem zugehörigen Tool genhtml in einen HTML-Report konvertieren kann.

Der erste Screenshot dieses Artikels zeigt einen Teil des Beispielreports auf der lcov-Webpage. Auf dieser Seite befindet sich auch eine Anleitung für die Report-Generierung mit lcov.

KDevelop 4 RC3 veröffentlicht

Posted by : MOnsDaR | Sonntag, 18. April 2010 | Published in

Freitag erschien der dritte RC von KDevelop4. Bis zur finalen Veröffentlichung Anfang Mai ist es also nicht mehr lang hin.

Wer vorab schonmal einen Blick riskieren möchte, findet HIER eine Schritt für Schritt Anleitung zur Installation unter Linux. Wenn man zusätzlich noch die Requirements beachtet, klappt eigentlich alles ohne Probleme.

Ich habe den RC1 bereits auf der Arbeit kompiliert und im Einsatz. Die Daten, auf denen ich arbeite, sind natürlich alle soweit gesichert. Bisher gab es keine Probleme.

Im Vergleich zur Beta-Version sind allerdings einige Funktionen herausgefallen. So habe ich beispielsweise noch keine Möglichkeit gefunden, gcov einzusetzen. Da derzeit allerdings wöchentlich neue Versionen mit neuen Features erscheinen, werde ich zunächst auf die Release-Version warten.

Einige Funktionen lassen sich über Plugins nachrüsten. Hierfür gibt es ein Repository “extra-plugins”. Im KDevelop-Wiki befindet sich eine (veraltete?) Anleitung, wie man beispielsweise das PHP-Plugin bauen kann.

Netzwerk: Endgültige Lösung

Posted by : MOnsDaR | | Published in

Nach dem ich HIER schon sehr zuversichtlich war, dass das Problem soweit gelöst ist, taten sich in den folgenden Wochen dieselben Probleme erneut auf. Nachdem der Netgear-Support schon soweit gegangen ist, ein komplettes Abbild meiner Router-Konfiguration anzufordern, konnte weiterhin keine Lösung erreicht werden.

Letzte Woche bekam ich dann abschließend eine Email, in der mir vorgeschlagen wurde, den kaputten Router einzuschicken. Nach dem Eintreffen bei Netgear würde mir umgehend ein Neugerät bereitgestellt werden. Das ich in dem Fall locker eine Woche ohne Netz wäre, schien dort niemanden zu stören.

Auch die zweite Lösung, bei der ich das Neugerät vor dem Verschicken meines kaputten Routers bekäme, war nicht wirklich zumutbar, hätte ich in dem Fall doch 30€ zusätzlich zahlen sollen. Vor dem Hintergrund, dass der Router an sich nur 40€ wert ist, ein lächerlicher Vorschlag.

Ich werde mir also selbst einen neuen Router zulegen (diesmal mit integriertem DSL-Modem). Den Netgear-Router kann man vielleicht irgendwann nochmal gebrauchen.

Mit dem D-Link DSL-2741 habe ich hoffentlich einen würdigen Ersatz gefunden. Alle von mir gesichteten Testberichte fielen unterm Strich positiv aus.