--- /dev/null
+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.