Mi chiedo se ci sia la possibilità di dire a lcov di ignorare alcune linee in un file sorgente, es. non segnalarli come non visitati. Sto cercando una soluzione che può essere messo in codice stesso, come:Come dire a lcov di ignorare le righe nei file sorgente
int some_method(char some_var, char some_other_var)
{
if(some_var == 'A')
{
if(some_other_var == 'B')
{
/* do some real stuff here */
}
else
{
LCOV_DO_NOT_REPORT_NEXT_LINE // **<-- this?? **
NOT_IMPLEMENTED("A*")
}
}
else
{
NOT_IMPLEMENTED("*")
}
E il background necessario:
Un grosso pezzo di codice come quello sopra viene testato in una serie di unità test, ma dal momento che questo codice è ancora in fase di sviluppo ci sono un sacco di macro NOT_IMPLEMENTED("A*")
che appena messo un messaggio sullo schermo con il numero di riga/nome file e uscire dall'applicazione. Non ci sono test per i rami non implementati, ovviamente saranno scritti quando la funzionalità è implementata.
Tuttavia, lcov segnala queste linee NOT_IMPLEMENTED
e appaiono molto brutte nel rapporto di copertura (ovvero: fanno un alto rapporto di linee rosse).
È quello che chiedo, o dovremmo semplicemente convivere con questo?
Qual è il motivo per avere i rami vuoti, se non avete intenzione di fare qualcosa con loro ancora? – PomfCaster
@PomfCaster tutti i rami vuoti hanno una macro 'NOT_IMPLEMENTED' che indica che in quel ramo ci sarà una funzionalità – fritzone
La mia risposta risolve il problema? – PomfCaster