Your SlideShare is downloading. ×
Using gcov and lcov
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Using gcov and lcov

21,452
views

Published on

introduction to gcov and lcov

introduction to gcov and lcov

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
21,452
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
174
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Using gcov and lcov
    Magus Chen
    maguschen@hotmail.com
    http://magustest.com/blog/
  • 2. Agenda
    gcov
    lcov
    How to apply gcov on ads
    Using lcov generate report
    Example
    2
  • 3. Introduction to gcov
    A test coverage program
    Works only on code compiled with GCC
    Collect code coverage data and generate plain text coverage report
    3
  • 4. Introduction to lcov
    LCOV is a graphical front-end for GCC's coverage testing tool gcov. It collects gcov data for multiple source files and creates HTML pages containing the source code annotated with coverage information. It also adds overview pages for easy navigation within the file structure. LCOV supports statement, function and branch coverage measurement.
    4
  • 5. How to apply gcov on ads
    Build adserver with option “--coverage”
    This option is used to compile and link code instrumented for coverage analysis. The option is a synonym for -fprofile-arcs-ftest-coverage (when compiling) and -lgcov (when linking).
    5
  • 6. How to apply gcov on ads
    Copy ads binary to your own environment
    Export two envGCOV_PREFIX and GCOV_PREFIX_STRIP 
    Run ads
    Send request
    To generate code coverage data, exit the program normally (using kill, not kill -9)
    Some .gcda file is generated
    6
  • 7. How to generate html report
    Copy all source files and .gcno files from build server to your own environment
    Copy all .gcda file to your own environment
    lcov -t 'Adserver regression' -o ads_test.info -c -d .
    -t title
    -o output file name
    -c capture coverage data
    -d use data files in DIR
    7
  • 8. How to generate html report
    genhtml -o result ads_test.info
    -o output folder of the all html contents
    ads_test.info INFO FILE name
    8
  • 9. How to view the HTML report
    Apache httpd
    /etc/init.d/httpd start
    Copy or link the result folder under /var/www/html/
    Lighttpd
    /usr/local/sbin/lighttpd -f lighttpd_jchen.conf
    Copy or link the result folder under server.document-root
    9
  • 10. Example
    10
  • 11. Q & A
    11
  • 12. Thank you