eclipse-score / eclipse-score/reference_integration

Coverage calculation for C++ and Rust

Aperta
#259 6 commenti 0 reazioni 1 assegnatario Rivendicata da @dcalavrezo-qorix Vedi su GitHub
bug
Lingua principale
Python
Stelle
5
Fork
37
Merge medio
1g 2h
PR unite (30g)
22

Descrizione

Currently issues with coverage calculation are observed across different Modules. We need a common solution that can be applied and used in reference_integration.

# Problem definition

## Mutual
- we need solution that is common and can be reused by everyone
- we need justifications when coverage != 100%, we need mechanisms to justify etc.
- tooling should support platform variants, allows justifications only for specific one, etc.
- tooling should allow easy use to developers and clear information where improvements are needed
- tooling will require certification but there is no other known alternative that will fulfill all our requirements
- tool requirements initially defined in https://github.com/eclipse-score/communication/pull/549

## C++
- different frameworks have different statements definition - we need that aligned in SCORE
- `bazel coverage` is not 100% reliable
- PR with suggested changes as reference
- No other alternatives exist for our knowledge right now

## Rust
- currently only line coverage is calculated
- ferrocene toolchain supports only Linux (QNX UTs don't work)
- there was a new PR in toolchains to support coverage in QNX @PiotrKorkus to check if that works
https://github.com/eclipse-score/bazel_cpp_toolchains/pull/62
- other coverages where quoted to ferrocene. Branch coverage would be possible to get with other open-source solutions

It should be possible to use a common tool for generating coverage for both languages.

## Next steps
- Get QNX coverage working for C++
- Look into Rust coverage
- Rust and C++ report should have a combined report

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.