Je me suis essayé à intégrer a mesurer le test coverage du projets duniter-rs avec kcov, mais je n’ai pas réussi, je laisse donc ça là avec toutes les indications pour qui souhaiterai finir ce que j’ai commencer :
J’ai suivi le tutoriel : Tutorial: How to collect test coverages for Rust project - tutorials - The Rust Programming Language Forum
Et je n’ai pas réussi, ni en local, ni dans docker.
J’ai bien compiler kcov avec les paquets binutils-dev
et libiberty-dev
afin d’avoir l’option --verify fonctionnelle, j’ai bien désactivé les sécurités dans le runner docker avec l’option security_opt = ["seccomp:unconfined"]
, j’ai bien compiler le binaires rust avec le flag “-C link-dead-code”, et enfin j’ai bien ajouter l’option --include-path=$(pwd)
comme sugérer mais rien n’y fait, kcov n’arrive pas a éxécuter les tests :
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out
kcov: 234 invalid breakpoints skipped in /builds/nodes/rust/duniter-rs/target/debug/duniter_wotb-0f7604789b798d32
Il semble que le problème provienne de Rust et ne soit pas encore résolu : Generated debuginfo may apparently be ill-formed · Issue #27324 · rust-lang/rust · GitHub
Mais peut être aussi que quelque chose m’a échapper :
l’image docker est là : Sign in · GitLab
Et le script de ci ici : https://git.duniter.org/nodes/rust/duniter-rs/blob/ci/.gitlab-ci.yml
je précise que j’ai exactement le même comportement en local et dans docker, le problème ne viens donc pas de docker.