Hvordan teste kodedekning ved hjelp av Linux GCOV -kommandoen

Hvordan teste kodedekning ved hjelp av Linux GCOV -kommandoen
Som en del av å teste ytelsen til koden din, tar GCOV -kommandoen kodeoptimaliseringen til neste nivå ved å gjøre det mulig for deg å sjekke dekningen. GCOV, når den utføres på et program, viser en rapport som viser hvilke deler av koden som blir utført og hvilke som ikke er. Du får se en prosentandel av kodedekningen. På denne måten kan du forbedre ytelsen til programmet ditt.

Denne guiden dekker et eksempel der et C -program sjekker kodedekningen ved å bruke GCOV Linux -kommandoen.

Hvordan bruke GCOV -kommandoen i Linux

En GCOV -kommando er et nyttig verktøy, spesielt for utviklere, og det gir forskjellige fordeler, inkludert:

  • Optimalisering av kodeytelse
  • Endring av hvilke deler av koden bremser programmene
  • Å sjekke om programmet forårsaker lekkasjer
  • Sjekk om programmet påkaller funksjonene riktig

GCOV -kommandoen brukes med de utførte filene samlet ved hjelp av G ++ eller GCC. Derfor fungerer kommandoen best med C eller c++ programmer. Programmet er samlet med spesifikke flagg for å gjøre det mulig for GCOV å samle inn dekningsdata. Når de er samlet, genereres forskjellige filer som inneholder notatfilene.

Derfra kjører du GCOV -kommandoen med den kjørbare filen for å få rapporten om datadekningen.

For eksempel vil vi bruke et C -program som sjekker og skriver ut tallene som deles ut med spesifikke tall innenfor et gitt område. Som standard kommer GCOV-kommandoen forhåndsinstallert. For å kompilere programmet ditt, bruk syntaksen nedenfor og erstatt filnavnet slik at du samsvarer med ditt. For dette eksemplet er filen vår GCOV-test1.c som vist under:

$ GCC -Wall -Fprofile -Arcs -Ftest -dekning GCOV -test.c

Når du har samlet koden din, bør du få forskjellige utganger som i forrige bilde. Å sammenstille koden oppretter en instrumentert kjørbar som lar GCOV beregne kodelinjene som brukes. De -ftest-dekning gjør det mulig for GCOV å beregne kodelinjene som er utført. På den annen side, -fprofile-buene inkluderer andre betingelser, og du kan kjøre den instrumenterte kjørbare, som vist med følgende kommando. Vårt instrumentleverbar er en.ute fil, men hvis du spesifiserte en utdatafil når du sammenstiller koden, ville du ha en annen instrumentert fil.

$ ./en.ute

Kommandoen kjører programmet og gir forventet utgang, som i vårt tilfelle er å liste opp de delbare tallene i det angitte intervallet.

Når koden er utført, er neste ting å sjekke kodedekningen ved å bruke GCOV Linux -kommandoen. Før det vil du merke flere filer som er opprettet. De inneholder notatfilene som GCOV er avhengig av for å generere rapporten.

Her må du legge til programmets navn som argument til GCOV i følgende kommando:

$ GCOV GCOV-TEST1.c

Vår utgang vil være:

Merk at alle linjer i koden vår ble utført, noe som betyr at koden vår er godt optimalisert. Videre en ny fil GCOV-test1.c.GCOV ble laget. Den inneholder antall ganger hver linje i vårt program ble utført, som vist på bildet nedenfor. Enhver linje som ikke er utført, vil ha ###### foran den, og nummeret til venstre viser tidene den enkelte linjen ble utført. Ved å bruke disse detaljene kan du bestemme endringene du skal gjøre for å optimalisere programmet ditt og utføre det raskere.

Hvis noen linjer vises som ikke utført ved hjelp av en feilsøking, kan du fikse det. Målet er å sikre at alle linjer blir utført for å nå 100% og tillate kodekjøringen raskere.

Konklusjon

Denne artikkelen dekker å sjekke kodedekningen din ved hjelp av GCOV Linux -kommandoen. Når kodingsprogrammer skriver vi flere linjer, men ikke alle blir utført. Dermed er det nødvendig å vite hvilke linjer som utfører og de som ikke er nødvendig. Informasjonen hjelper deg med å fikse eller fjerne de linjene som ikke er utført, noe som gjør koden raskere og er en god måte å optimalisere programmet ditt.