Author: tridge Date: 2005-01-02 08:53:58 +0000 (Sun, 02 Jan 2005) New Revision: 4476
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4476 Log: added a little gcov howto for ldb Added: branches/SAMBA_4_0/source/lib/ldb/README.gcov Changeset: Added: branches/SAMBA_4_0/source/lib/ldb/README.gcov =================================================================== --- branches/SAMBA_4_0/source/lib/ldb/README.gcov 2005-01-02 07:51:13 UTC (rev 4475) +++ branches/SAMBA_4_0/source/lib/ldb/README.gcov 2005-01-02 08:53:58 UTC (rev 4476) @@ -0,0 +1,33 @@ +Here is how to use gcov to test code coverage in ldb. + +Step 1: enable gcov support + + Edit Makefile.ldb and uncommend the two GCOV_ lines + +Step 2: build ldb + + make -sf Makefile.ldb clean all + +Step 3: run the test suite + make -sf Makefile.ldb test-tdb + +Step 4: produce the gcov report + make -sf Makefile.ldb gcov + +Step 5: read the summary reports + less *.report.gcov + +Step 6: examine the per-file reports + less ldb_tdb\#ldb_tdb.c.gcov + +You can also combine steps 2 to 4 like this: + + make -sf Makefile.ldb clean all test-tdb gcov + +Note that you should not expect 100% coverage, as some error paths +(such as memory allocation failures) are verr hard to trigger. There +are ways of working around this, but they are quite tricky (they +involve allocation wrappers that "fork and fail on malloc"). + +The lines to look for in the per-file reports are the ones starting +with "#####". Those are lines that are never executed.