r4476: added a little gcov howto for ldb
authorAndrew Tridgell <tridge@samba.org>
Sun, 2 Jan 2005 08:53:58 +0000 (08:53 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:07:56 +0000 (13:07 -0500)
(This used to be commit 5dc1995118c7d25adf89b6cc6156b1e6fc281e9b)

source4/lib/ldb/README.gcov [new file with mode: 0644]

diff --git a/source4/lib/ldb/README.gcov b/source4/lib/ldb/README.gcov
new file mode 100644 (file)
index 0000000..02f090f
--- /dev/null
@@ -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.