Code Couverage Messen, aber wie ..

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1340
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Code Couverage Messen, aber wie ..

Beitrag von corpsman »

Servus zusammen,

ich habe beruflich ein Testsystem geschrieben, welches via JSON, Dateien einliest und damit das Interface von Linearem Code (also ohne OOP, genauer gesagt ist das C-Code) abtestet.
Aktuell haben wir knapp 4000 Testfälle. Was wir aber nicht wissen ist, wie viel Code wurde denn nun eigentlich getestet, sprich welche Couverage haben wir denn da nun eigentlich.

Im Englischen Forum scheint das auch schon mal jemand probiert zu haben siehe https://forum.lazarus.freepascal.org/in ... ic=37186.0 aber so recht schlau geworden bin ich daraus nicht.

Bevor ich mir nun ein eigenes Tool baue, mit welchem man den Code instrumentalisiert und dann die Coverage rausmisst, dachte ich mir ich frag mal ganz Frech hier im Forum, ob da jemand Erfahrungen mit hat ...

[Edit]
Das hier scheint auch related: https://gitlab.com/ccrdude/laz-codecoverage-helper
--
Just try it

Warf
Beiträge: 1652
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Code Couverage Messen, aber wie ..

Beitrag von Warf »

Im grunde kannst du dir die Coverage informationen mittels Valgrind holen:

Code: Alles auswählen

$> valgrind --tool=callgrind --compress-strings=no --compress-pos=no --collect-jumps=yes "command"
und musst die dann nur noch statistisch auswerten.

Auf die schnelle habe ich dazu das als all in one lösung gefunden: https://github.com/squeek502/grindcov

Alternativ, könntest du mal KCov versuchen, das kann theoretisch beliebeige binaries mit DWARF2 symbolen:
https://github.com/SimonKagstrom/kcov

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1340
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Code Couverage Messen, aber wie ..

Beitrag von corpsman »

Danke für die Tipps, das Valgrind wollte ich eh schon immer mal ausprobieren, leider arbeite ich unter Windows muss mal schaun ob das dort auch so einfach geht ...
--
Just try it

Antworten