Domanda

Misuro la copertura del mio codice utilizzando la libreria gcov e vorrei generare un rapporto sulla copertura in un formato intuitivo. Ho trovato l'utilità lcov per questo, ma non è compatibile con l'ambiente Windows (principalmente a causa del modo in cui i percorsi vengono analizzati). Qualcuno sa della porta lcov supportata attivamente per Windows?

Sembra che farlo funzionare su Windows sarebbe abbastanza facile (pensa che potrebbe anche essere risolto da alcuni script batch / perl creativi che imitano il comportamento dei comandi della shell unix), e lo strumento è abbastanza utile, quindi suppongo qualcuno potrebbe averlo già fatto.

È stato utile?

Soluzione

Anche se può essere sporco, lcov sembra funzionare sotto cygwin. Potresti anche essere interessato alla domanda How can Misuro la copertura del test CppUnit (su win32 e Unix)? e le sue risposte. Visual Studio sembra fornire rapporti sulla copertura del codice.

Altri suggerimenti

Esiste una porta lcov genhtml supportata attivamente per Windows qui: https://github.com/RickSBrown/jgenhtml .

È specificamente progettato per funzionare su più piattaforme, senza problemi con barre rovesciate nei percorsi, ecc.

Esiste anche una versione per Windows di LCOV https://github.com/valbok/lcov con spiegazione come usarlo. Abbiamo riscontrato alcuni problemi nell'utilizzo di versioni native o di altre versioni di LCOV. Ad esempio da qui http: // semplicemente -embedded.blogspot.com/2014/07/code-coverage-html-reports-using-lcov.html

Il nostro flusso è qualcosa del tipo:

  1. Crea un progetto in Windows usando il compilatore GCC ARM QNX, raccogli i file gcno.

  2. Copia i file binari e le configurazioni su una destinazione in QNX ed eseguili, raccogli i file gcda.

  3. Esegui LCOV (su Windows o Linux) per creare report.

In caso di utilizzo della versione nativa di LCOV, i report verranno interrotti a causa di errori nei percorsi di Windows e Linux e di alcuni bug negli script LCOV. Abbiamo dovuto correggere un po 'gli script per evitare problemi come duplicati di directory, barre, percorsi interrotti ecc.

Esiste una versione di Windows realizzata da Donald MacQueen in http://www.macqueen.us/lcov. html ma non l'ho provato. Ho realizzato la mia versione che puoi trovare qui:
http://simply-embedded.blogspot.com/2014/07/code-coverage-html-reports-using-lcov.html
Questo viene fatto sulla versione 1.11 di LCOV.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top