summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/README_gcov.txt
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-01-02 23:48:07 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:08:12 -0500
commit022bc635ef40827e778e08ee27cb8f16bf28c90b (patch)
treeb0c8ecc3836534166879a86196777872132b3864 /source4/lib/ldb/README_gcov.txt
parent6f5fc8890cf2820f7549479da670384644ead190 (diff)
downloadsamba-022bc635ef40827e778e08ee27cb8f16bf28c90b.tar.gz
samba-022bc635ef40827e778e08ee27cb8f16bf28c90b.tar.bz2
samba-022bc635ef40827e778e08ee27cb8f16bf28c90b.zip
r4493: change name of README.gcov so it doesn't get deleted by "make clean" :-)
(This used to be commit 209ba7b889823f1badb0337412b2b9b34c5e23de)
Diffstat (limited to 'source4/lib/ldb/README_gcov.txt')
-rw-r--r--source4/lib/ldb/README_gcov.txt33
1 files changed, 33 insertions, 0 deletions
diff --git a/source4/lib/ldb/README_gcov.txt b/source4/lib/ldb/README_gcov.txt
new file mode 100644
index 0000000000..02f090f69f
--- /dev/null
+++ b/source4/lib/ldb/README_gcov.txt
@@ -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.